Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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 Laravel 5.2仅将一对多行与值最高的列左连接_Php_Mysql_Laravel_Greatest N Per Group - Fatal编程技术网

Php Laravel 5.2仅将一对多行与值最高的列左连接

Php Laravel 5.2仅将一对多行与值最高的列左连接,php,mysql,laravel,greatest-n-per-group,Php,Mysql,Laravel,Greatest N Per Group,我尝试在一对多关系中使用雄辩的左连接。我只想得到sort_order列中具有最高值的行 到目前为止,我的查询如下所示: Package::select('packages.*') ->leftJoin('package_routes', 'package_routes.package_id', '=', 'packages.id') ->leftJoin('package_route_items', function($join){

我尝试在一对多关系中使用雄辩的左连接。我只想得到sort_order列中具有最高值的行

到目前为止,我的查询如下所示:

Package::select('packages.*')
        ->leftJoin('package_routes', 'package_routes.package_id', '=', 'packages.id')
        ->leftJoin('package_route_items', function($join){
            $join->on('package_route_items.package_route_id', '=', 'package_routes.id')
                ->where(???);
        })->...//do more stuff to query here

我被where子句卡住了,如果我真的应该使用where的话。

因为我不知道要简化的所有查询where条件(您可能需要调整列名和语法)

在控制器/模型的开头添加
use DB;

$data = DB::table('packages')
->select('packages.*, package_route_items.company_id, package_routes.company_id')
    ->join('package_routes', 'package_routes.package_id', '=', 'packages.id')
    ->join('package_route_items.package_route_id', '=', 'package_routes.id')
    ->orderBy('packages.value_column', 'DESC')->first();
这是我从你的描述中了解到的。它还没有经过测试,但我认为它应该可以进行小的编辑


和您类似的问题是,and(希望它比我的答案更能帮助您)。

调用未定义的方法illumb\Database\Query\JoinClause::orderBy()
不幸的是,很抱歉,我还编辑了我的问题,以明确我的意图。我需要继续向查询添加连接,然后最终通过其他方式进行排序。很抱歉造成混淆!我现在有点困惑,你能详细说明一下表和所需的输出,或者一些信息,以便我可以帮助你进行正确的查询吗?Sure,所以我最初创建了一个有说服力的查询,但现在我需要能够在公司名称上对整个内容进行排序。现在公司本身是
package\u route\u items
中的外键,我需要获取列表中最后一个
package\u route\u items.company\u id
,以便查看包的最终目的地。因此架构是Pa打包>有一个PackageRoute>有多个PackageRouteItems>有一个公司id我还需要在PackageRoute上获取另一个公司id(起点)以及包中的其他一些元数据。为了补充这一点,我首先创建了您在问题中看到的连接,然后一旦我正确地对它们进行了排序,我将使用(…这里的关系…)的
->对模型进行水合处理
请提供您的表格定义,因为您的问题不清楚您需要最高行的表格以及具有排序顺序的表格