2015-05-29 17 views
0

我試圖讓下面的查詢上Laravel:Laravel DB加入與星號和別名選擇

select TABLE1.* , TABLE1.COLB AS AAA 
from TABLE1 
left join TABLE2 on TABLE2.COLA = TABLE1.COLB 

這是Laravel DB查詢代碼:

DB::table('TABLE1') 
     ->leftJoin('TABLE2','TABLE2.COLA', '=', 'TABLE1.COLB') 
     ->select('TABLE1.* , TABLE1.COLB AS AAA') 
     ->get(); 

但它不工作,我得到SQL語法錯誤。 這是Laravel使用上面的代碼是錯誤使SQL:

select `TABLE1`.* as `TABLE1.COLB` 
from `TABLE1` 
left join `TABLE2` on `TABLE2`.`COLA` = `TABLE1`.`COLB` 

我怎樣才能解決這個問題使用laravel方式?

回答

1

您需要將多個參數傳遞給select方法爲每一個得到正確處理:

DB::table('TABLE1') 
     ->leftJoin('TABLE2','TABLE2.COLA', '=', 'TABLE1.COLB') 
     ->select('TABLE1.*', 'TABLE1.COLB AS AAA') // <- 2 separate params here 
     ->get(); 
+0

謝謝波格丹! – user89300

+0

非常歡迎。 – Bogdan