Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用查询生成器将表与子选择连接起来_Php_Laravel_Laravel 5 - Fatal编程技术网

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

Php 使用查询生成器将表与子选择连接起来,php,laravel,laravel-5,Php,Laravel,Laravel 5,在Laravel 5查询生成器中,是否可以将子选择与另一个表连接起来 我的意思是理论上是这样的: $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中有重复的行。我需要那些带有maxdateperi

在Laravel 5查询生成器中,是否可以将子选择与另一个表连接起来

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

$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中有重复的行。我需要那些带有max
date
per
id
的。然后我需要将结果与注释中建议的表B

连接起来,解决方法如下

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

$query = DB::table('B')->whereIn('id', $idArray)->get();

但是,同样,这只是一个解决办法。

将您的解决方案作为可接受的答案发布。这将帮助人们寻找类似的解决方案,也可以帮助您获得
自学成才
徽章。是的,我可能会在当天晚些时候这样做,尽管这不是解决当前问题的真正办法。