Предположим, у меня есть три модели, названные Customer ,Invoice
и Payment
.
Модель счета и оплаты выглядит как
id , customer_id, amount
Я хочу получить только тех клиентов, чьи
Invoice.sum(amount)>Payment.sum(amount)
с разницей в сумме
Я сейчас получаю как
$customers=Customer::get();
foreach($customers as $customer)
{
$pay=Payment::where('customer_id',$customer->id)->sum('amount');
$due=Invoice::where('customer_id',$customer->id)->sum('amount');
if($due>$pay){
// showing this customers
}
}
Есть ли лучший способ с красноречивым соединением?
Как я могу получить In Laravel Eloquent?