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

时间:2017-06-16 13:33:06

标签: laravel laravel-5

我正在尝试从我的数据库中获取所有产品并按照他们的评价平均评分而不是产品名称。我如何在我的控制器中进行此操作?

表格 - 产品:ID,名称,价格, 评论:ID,评论,评分,product_id

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

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

当前控制器:

$products =Product::orderBy('name');

1 个答案:

答案 0 :(得分:0)

Product::with('reviews', function ($query) {
    $query->select(DB::raw('AVG(ratings) as ratings_average'))
})->groupBy('id')
  ->orderBy('ratings_average', 'DESC')
   ->get();

尝试此查询并查看它的位置。