在a previous question我(我们,因为你们帮助了我)做了一个mutator来为我从数据库中得到的结果添加一列。
现在我的问题是:如何按创建的属性订购结果?
有它:
public function getRatingAttribute()
{
return $this->reviews()
->selectRaw('AVG(reviews.rating) as aggregate')
->pluck('aggregate');
}
答案 0 :(得分:0)
DB无法为您排序,因为在主sql请求完成后获取了mutator数据。您需要使用Collection方法在php中对结果进行排序,例如$my_results->sortByDesc('rating');
如果你需要使用分页,那么这是一个很大的问题,你可能最好使用连接而不是变换器。