У меня есть модель Invoice_Detail
, которая обрабатывает все продукты и их количество, эта модельная таблица invoice_details
имеет столбцы item_id
и qty
.
Invoice_Detail
имеет отношение к модели Items
, которая содержит все данные элемента в своей таблице items
, в которой есть item_id
, name
, category_id
.
Модель Item
также связана с моделью Category
, которая содержит данные всех категорий в своей таблице categories
.
Вопрос: Я хочу выбрать пять лучших категорий из Invoice_Detail
, как?
Вот что я сделал:
$topCategories = InvoiceDetail::selectRaw('SUM(qty) as qty')
->with(['item.category' => function($query){
$query->groupBy('id');
}])
->orderBy('qty', 'DESC')
->take(5)->get();
Но не получилось!!
[{"qty":"11043","item":null}]