首页 > 解决方案 > laravel 8 使用 orderBy 和 withMax 用于带有另一个表的订单表

问题描述

我想从详细信息表中订购最高价格的产品。

产品与详细信息表的一对多关系。

标签: laravelsql-order-by

解决方案


在 laravel 文档中,我们有聚合方法,如withMax,withMinwithCount . 这些方法将{relation}_{function}_{column}在您的结果模型上放置一个属性。现在我们只需要对这个结果进行 orderBy 即可。

            $products = Product::withMax('details', 'price')
            ->orderBy('details_max_price' , 'desc')
        ->paginate(15);

推荐阅读