我正在尝试从我的数据库中获取所有产品并按照他们的评价平均评分而不是产品名称。我如何在我的控制器中进行此操作?
表格 - 产品:ID,名称,价格, 评论:ID,评论,评分,product_id
这就是我在查询刀片上显示的方式。
<p>{{$product->reviews->avg('ratings')}}/ 5</p>
当前控制器:
$products =Product::orderBy('name');
答案 0 :(得分:0)
Product::with('reviews', function ($query) {
$query->select(DB::raw('AVG(ratings) as ratings_average'))
})->groupBy('id')
->orderBy('ratings_average', 'DESC')
->get();
尝试此查询并查看它的位置。