foreach с get () возвращает только одну запись laravel? - PullRequest
0 голосов
/ 22 марта 2020

Я хочу суммировать прибыль, активируя несколько планов. Я использую get() с foreach, но он возвращает только данные последней строки. не все строки данных. странно, в то время как по другим запросам он возвращает данные всех строк. Например, у меня есть 2 депозита, один 25 $, а второй 35 $, он возвращает только данные 35 $. я попытался с

 $deposits = Deposit::get();

, но это не работает, я пошел, чтобы увеличить строки до 12, но все же, он возвращает данные только 12-й строки

 $deposits = Deposit::where('account_id', $account->id)->where('status',1)->get();

                  foreach($deposits as $pn) {

                       $plans = package::where('id',$pn->plan)->first();
                       $percent = $plans->min_amount * $plans->percent/100;

                  }

1 Ответ

1 голос
/ 22 марта 2020

После обсуждения в чате реальная проблема заключается в суммировании процентов во время цикла:

$percent = 0;

foreach ($deposited as $de) {
    $pack    = Package::Where('id', $de->plan)->first();
    $log     = Deposit::Where('id', $de->id)->first();
    $percent = $percent + ($log->amount * $pack->percent / 100);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...