Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.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:通过mutator对mysql提取的数据进行排序_Php_Mysql_Laravel_Eloquent_Mutators - Fatal编程技术网

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。我按照你的建议添加了信息。