Php Laravel:通过mutator对mysql提取的数据进行排序
我(我们,因为你们帮了我)做了一个变异,在我从数据库得到的结果中添加了一列 现在我的问题是:如何按创建的属性对结果排序 这就是:Php Laravel:通过mutator对mysql提取的数据进行排序,php,mysql,laravel,eloquent,mutators,Php,Mysql,Laravel,Eloquent,Mutators,我(我们,因为你们帮了我)做了一个变异,在我从数据库得到的结果中添加了一列 现在我的问题是:如何按创建的属性对结果排序 这就是: public function getRatingAttribute() { return $this->reviews() ->selectRaw('AVG(reviews.rating) as aggregate') ->pluck('aggregate'); } DB无法为您排序,因为在主sql请求
public function getRatingAttribute()
{
return $this->reviews()
->selectRaw('AVG(reviews.rating) as aggregate')
->pluck('aggregate');
}
DB无法为您排序,因为在主sql请求完成后会获取mutator数据。您需要使用收集方法在php中对结果进行排序,例如,
$my_results->sortByDesc('rating')代码>
如果您需要使用分页,那么这是一个大问题,您最好使用联接而不是变种。如果前面的问题包含有用的信息,请提供一个链接。另外,最好用一个问题的形式重新表述一下,这样你就能清楚地知道你在问什么。谢谢你的建议,@Sean。我按照你的建议添加了信息。