2015-05-29 62 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