gordon_shamway
@gordon_shamway

Как правильно выполнить такой запрос через «Конструктор запросов» в Laravel?

Есть такой запрос
SELECT books.*, count(orders.book_id) as number_of_orders        
from books
left join orders
on (books.book_id = orders.book_id)
group by
    books.book_id


Как его можно выполнить в Laravel используя конструктор запросов?
  • Вопрос задан
  • 232 просмотра
Решения вопроса 1
@Kostik_1993
Web Developer
Book::withCount('orders')->get();

или так, если для вас принципиально не пользоваться ORM, по идеи должен сработать
DB::table('books')
        ->join('orders', function ($join) {
            $join->on('books.book_id', '=', 'orders.book_id');
        })
        ->groupBy('books.book_id');
        ->select('books.*', DB::raw('count(orders.book_id) as number_of_orders'))
        ->get();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы