Laravel 在平均值上运行查询和排序。

Laravel 在平均值上运行查询和排序。,laravel,laravel-5,Laravel,Laravel 5,我试图从我的数据库中获取所有产品,并根据它们的评论平均评级而不是产品名称订购它们。我将如何在控制器中执行此操作 表-产品:id、名称、价格、, 评论:id、评论、评级、产品id 这就是我在我的查询刀片上显示的方式 <p>{{$product->reviews->avg('ratings')}}/ 5</p> 试试这个查询,看看它能把你带到哪里。这会导致语法错误。当删除失败的语法时,我会得到一个mb_strps()错误$products=Product::wi

我试图从我的数据库中获取所有产品,并根据它们的评论平均评级而不是产品名称订购它们。我将如何在控制器中执行此操作

表-产品:id、名称、价格、, 评论:id、评论、评级、产品id

这就是我在我的查询刀片上显示的方式

<p>{{$product->reviews->avg('ratings')}}/ 5</p>

试试这个查询,看看它能把你带到哪里。

这会导致语法错误。当删除失败的语法时,我会得到一个mb_strps()错误$products=Product::with('reviews',function($query){$query->select(DB::raw('AVG(ratings)as ratings_average'))->groupBy('id')->orderBy('ratings_average','DESC')->get();};
$products =Product::orderBy('name');
Product::with('reviews', function ($query) {
    $query->select(DB::raw('AVG(ratings) as ratings_average'))
})->groupBy('id')
  ->orderBy('ratings_average', 'DESC')
   ->get();