2016-02-08 22 views
1

我想從3表中Laravel5加入選擇任何字段,但對我來說如何使用選擇加入與指定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) 

但我不能這樣做,我不知道如何在Laravel5中做。 請幫助

+0

是什麼問題? –

+0

我已經編輯上面的問題,你可以檢查ity – hengsopheak

+0

你的查詢似乎是一個甜菜怪,你爲什麼這樣的colums命名? 「jdJ_id as journal_detail.journal_id」,你可以在那裏發佈你的整個代碼嗎?這似乎是錯誤的這裏 – sagi

回答

1

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(); 
+0

Sir這是不是wrk – hengsopheak

+0

會產生相同的錯誤? –

+0

SQLSTATE [42000]:語法錯誤或訪問衝突:1064您的SQL語法有錯誤;請檢查手冊,它對應於你的MySQL服務器版本的正確語法,用於'tb_journal_detail'內的'.journal_id'在'tb_jour'的第1行的內部連接'tb_journal_requiry'(SQL:選擇journal_detail。*,jd_id作爲來自'tb_journal_detail的journal_detail.journal_id '內部加入 – hengsopheak