Состояние сбора Laravel в сумме - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть коллекция транзакций с отношениями, и я хотел бы суммировать столбец, разделенный условием столбца отношения.Прямо сейчас у меня есть это:

    $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, но это означает, что мне приходится повторять все транзакции дважды.

...