Я пытаюсь создать запрос для получения всех Orders, у которых есть реляционный products, где количество products больше или равно значению.
order может иметь много products, а продукты имеют свойство amount.
Теперь мне нужно получить Orders, где общая сумма products (сумма суммы собственности по всем связанным products) соответствует критериям.
$orders = Order::
when( $request->amount, function($query) use ($request){
$query->whereHas('products', function($q) use ($request){
$q->where('amount', '>=', $request->amount);
});
})
->get();
Этот код работает до тех пор, пока проверяет, что сумма для каждого подключенного продукта больше или равна вводу, но я не могу обернуться, чтобы заставить его проверить sumamount на всех подключенных products. Какие-нибудь советы?






Использовать это:
$orders = Order::
when( $request->amount, function($query) use ($request){
$query->whereHas('products', function($q) use ($request){
$q->select(DB::raw('sum(amount) amount'))
->having('amount', '>=', $request->amount);
});
})
->get();