моя модель:
product =>
id
...
store=>
product_id
quantity
is_come // for detect that is income product or this product sell
Теперь, как я могу написать запрос (eloquent Builder) без превращения в коллекцию, которая фильтрует продукт, который на сумму is_come = true
больше, чем is_come = false
что-то, что я пишу, что это неправильно Пожалуйста, помогите мне
if (request('isAvailable')){
$data = $data->whereHas('store',function ($q){
$q->when(true, function ($a){
return $a->where('is_come', false)->sum('quantity')
> $a->where('is_come', true)->sum('quantity');
});
});
}
или что-то в этом роде
$data = $data->whereHas('store', function ($q){
$q->where(function ($a) {
return $a->where('store.is_come', 1)
->sum('quantity');
},
'>'
, function ($a) {
return $a->where('store.is_come', 0)->sum('quantity');
});
});
$data
это экземпляр модели продукта