Таблица продуктов:
id name
1 first product
таблица product_credits:
id product_id quantity
1 1 10
2 1 20
Что я пытаюсь сделать:
Я пытаюсь получить все количество продуктов .
Ожидаемые данные:
Получить:
- наименование товара = первый товар
- количество продукта = 30
Модель Код отношений:
public function credits () {
return $this -> hasMany('App\Models\Product\ProductCredits')
-> whereHas('importInvoice', function ($query) {
$query->where('deleted_at', null);
}) -> orderBy('created_at', 'ASC') -> orderBy('quantity', 'DESC');
}
Отношения работают хорошо.
Что я пробовал:
Я пытался использовать функцию with
в eloquent.
public function exportProductsCredit(Request $request) {
// GET THE COLLECTION
$products = Product::with(['credits' => function ($query) {
$query -> where('quantity', '>', 1) -> groupBy('product_id') -> sum('quantity');
}]) -> get();
return $products;
}
Но выдает ошибку: product_credits.id' isn't in GROUP BY
EDIT
Проблема в том, что у меня есть Mutator
поля, которые я хочу показать, например, я вычисляю product_net_price
, который я возвращаю как мутатор.