У меня есть коллекция транзакций с отношениями, и я хотел бы суммировать столбец, разделенный условием столбца отношения.Прямо сейчас у меня есть это:
$delegatedProvision = 0;
$ownProvision = 0;
foreach ($transactions as $transaction) {
if ($transaction->discount->consider_improvement) {
$delegatedProvision += $transaction->stats->$column;
continue;
}
$ownProvision += $transaction->stats->$column;
}
$this->salesCollection->put('delegatedProvision', $delegatedProvision);
$this->salesCollection->put('ownProvision', $ownProvision);
Это работает, но я хотел бы использовать коллекции Laravel.Пока у меня есть только это:
$provision = $transactions->sum(function ($transaction) use ($column) {
return $transaction->stats->$column;
});
И я не знаю, как использовать условие в методе sum (), и в соответствии со столбцом $transaction->discount->consider_improvement
(который является логическим) есть сумма в разделенных переменных.Я могу использовать фильтр каждый для разных consider_improvement
, но это означает, что мне приходится повторять все транзакции дважды.