Mysql 如何在laravel5中使用select join和specify any字段

Mysql 如何在laravel5中使用select join和specify any字段,mysql,laravel-5,Mysql,Laravel 5,我想从3个表中选择加入Laravel5的表,但这是我第一次这么做 public function getJD($id){ $result = []; $result = JournalDetail::select('journal_detail.*, jdId as journal_detail, jdJ_id as journal_detail.journal_id .............,tranId as transactions_requiry,..........

我想从3个表中选择加入Laravel5的表,但这是我第一次这么做

public function getJD($id){

    $result = [];
    $result = JournalDetail::select('journal_detail.*, jdId as journal_detail, jdJ_id as journal_detail.journal_id .............,tranId as transactions_requiry,..............')
        ->join('journal_requiry','journal_requiry.id','=','journal_detail.journal_id')
        ->leftJoin('transactions_requiry','transactions_requiry.id','=','journal_requiry.tran_id')
        ->where('journal_detail.journal_id','=',$id)->get();
    return $result;

}
错误

QueryException in Connection.php line 624: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'as `as` from `tb_journal_detail` inner join `tb_journal_requiry` on `tb_journal_' at line 1 (SQL: select `tb_journal_detail`.* as `as` from `tb_journal_detail` inner join `tb_journal_requiry` on `tb_journal_requiry`.`id` = `tb_journal_detail`.`journal_id` left join `tb_transactions_requiry` on `tb_transactions_requiry`.`id` = `tb_journal_requiry`.`tran_id` where `tb_journal_detail`.`journal_id` = 26)
但我不能这么做,我不知道在拉拉维怎么做。 请帮助

在选择后放置
DB::raw(
),以便查询:

$result = JournalDetail::select(DB::raw('journal_detail.*, jdId as journal_detail, jdJ_id as journal_detail.journal_id .............,tranId as transactions_requiry,..............'))
        ->join('journal_requiry','journal_requiry.id','=','journal_detail.journal_id')
        ->leftJoin('transactions_requiry','transactions_requiry.id','=','journal_requiry.tran_id')
        ->where('journal_detail.journal_id','=',$id)->get();

问题是什么?我已经编辑了上面的问题,您可以检查一下。您的查询似乎有点奇怪,为什么要这样命名列?“jdJ_id作为journal_detail.journal_id”,你能把你的全部代码都发到那里吗?这里似乎有点不对劲。尽管我使用了大小写字母,正如你在错误中看到的那样,从你的代码生成的查询是不正确的。我再次问你为什么要将这些列别名为这样的??“jdJ_id as journal_detail.journal_id。整个select在哪里?SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;请检查与您的MySQL服务器版本相对应的手册,以了解可在第1行的
tb\u journal\u detail
internal join
tb\u journal\u require
上使用的正确语法(SQL:选择journal_detail.*,jd_id作为journal_detail.journal_id fromtb_journal_detail`内部连接您的查询无效,您的表中是否有jd_id字段?如果是,并且您希望以这种方式显示,您可以将journal_detail.journal_id放在两个背景标记中,如
journal_detail.id。journal_id
啊,我认为Mysql语句允许我们更改任何m当我们将示例Uname作为tableName.username连接时,是这样的ysql字符串,所以Uname是代替username的?对吗?我怎么能在Codeigniter中使用这个结构,但在Larave5中我不知道