Я действительно новичок в Laravel и совершенно новичок в кодировании.Я удивлен, что промежуточные итоги или сальдо не получают большого внимания.
Проблема заключается в следующем:
- У меня есть текущий баланс счета, записанный в базе данных.
- У меня есть страница с именем account / $ id, где я получаю все транзакции счета с этим идентификатором.
- Мой последний столбец - это баланс идентификатора счета после этой транзакции.Обратный итог, я думаю, это называетсяПример: сальдо транзакции 3 = сальдо транзакции 2 - сумма транзакции 2.
- Пока здесь все не работает.
- Однако, когда я вхожу в paginate;только первая страница дает мне правильный баланс.Во второй баланс возобновляется с начала.
Код, который работает:
Контроллер
$transactions=\App\Transaction::orderByDesc('transaction_date')->orderByDesc('created_at')->where('account_id',$id)->get();
$previousTransaction=0;
$previousBalance=$account->account_current_balance;
foreach ($transactions as $key => $transaction) {
$balances[]=$previousBalance-$previousTransaction;
$previousBalance=array_values($balances)[++$key-1];
$previousTransaction = $transaction->transaction_ammount;
}
Вид
@foreach($transactions as $key => $transaction)
<td class="align">{{array_values($balances)[++$key-1]}}</td>
@endforeach
Кодэто не дает мне правильный баланс:
Контроллер
$transactions=\App\Transaction::orderByDesc('transaction_date')->orderByDesc('created_at')->where('account_id',$id)->paginate(20);
$previousTransaction=0;
$previousBalance=$account->account_current_balance;
foreach ($transactions as $key => $transaction) {
$balances[]=$previousBalance-$previousTransaction;
$previousBalance=array_values($balances)[++$key-1];
$previousTransaction = $transaction->transaction_ammount;
}
Просмотр
@foreach($transactions as $key => $transaction)
<td class="align">{{array_values($balances)[++$key-1]}}</td>
@endforeach
<div class="content-header noevents">
{{ $transactions->links() }}
</div>
Я пробовал также различные добавления в ссылки (), но этокажется, что я не знаю, как его использовать или не работает.
Действительно большое спасибо заранее всем, кто может мне помочь.