【发布时间】:2015-11-21 14:58:26
【问题描述】:
我有很多项目,每个都有很多订单,有些完成了,有些没有。
我想按已完成订单的数量订购它们,如下所示:
$products = $products->orderBy(function($product) {
return $product->orders->where('status', 2)->count();
})->paginate(15);
我知道订单调用不是这样工作的,但这是最好的展示问题的方法。 SortBy 不起作用,因为我想使用分页。
【问题讨论】:
-
你的 laravel 是什么版本的?
-
不要在你的函数中返回,因为这会停止你的查询。
-
我知道这段代码是错误的。您不能传递
orderBya 函数,因为它必须将其转换为数据库查询。但它解释了我遇到的问题。 -
所以您想根据等于 2 的状态计数对您的产品进行排序,对吗?
-
@aldrin27 没错。
标签: php laravel pagination query-builder