Как преобразовать SQL в Laravel-запрос?
Есть рабочий код :
SELECT * FROM painters
LEFT JOIN reviews ON painters.id = reviews.painter_id
GROUP BY painters.id ORDER BY AVG(reviews.rating) DESC;
$painters = Painter::where('status', '1')
->when($rating, function ($query) {
//нужно его вставить сюда (ниже код не работает)
return $query->leftJoin("reviews", function ($join) {
$join->on("painters.id", "=", "reviews.painter_id");
})->orderBy("avg", "reviews.rating", "desc")->groupBy("painters");
})->paginate(5);
Ответы (1 шт):
Автор решения: Walfter
→ Ссылка
Как то так
$painters = Painter::select('painters.*')
->leftJoin('reviews', 'painters.id', '=', 'reviews.painter_id')
->groupBy('painters.id')
->orderByRaw('AVG(reviews.rating) DESC')
->get();