使用()而不是on()构建左连接查询

时间:2015-12-31 16:37:31

标签: php laravel join eloquent query-builder

如何创建与using()而不是on连接的查询?

我有这个:

$games = DB::table('games')
    ->leftJoin('game_info', 'game_id')
    ->get();

我希望它能够构建一个如下所示的查询:

select * from games left join game_info using(game_id);

1 个答案:

答案 0 :(得分:0)

如果您不想创建原始查询,似乎没有简单的方法可以以这种方式进行加入。然而,查看SQL文档并快速查看此thread using的工作方式与您在两个表中相同列中定义的相同,因此查询:

select * from games left join game_info using(game_id);

将与

相同
select * from games left join game_info ON games.game_id = game_info.game_id

所以你可以简单地使用:

$games = DB::table('games')
    ->leftJoin('game_info', 'games.game_id','=','game_info.game_id')
    ->get();