使用查询生成器将表与子选择连接起来


JOIN table with subselect using Query Builder

是否可以在Laravel 5查询生成器中用另一个表JOIN子选择?

我的意思是 - 理论上 - 像这样:

$sub = DB::table('A')->select(DB::Raw('id, MAX(date)'))->groupBy('id')->get();
$query = DB::table('B')->join($sub, 'B.id', '=', $sub->id)->get();

就我而言,在表 A 中我重复了行。我需要每id最多date的那些.然后我需要将结果与表 B 连接起来。

根据评论中的建议,解决方法如下。

$idArray= DB::table('A')->select(DB::Raw('id, MAX(date)'))->groupBy('id')->lists('id');
$query = DB::table('B')->whereIn('id', $idArray)->get();

但是,同样,这只是一种解决方法。