【发布时间】:2019-02-12 04:12:51
【问题描述】:
我对 laravel 很陌生,对编码也很陌生。我很惊讶运行总计或余额没有受到太多关注。
问题是:
- 我有一个帐户的当前余额记录在数据库中。
- 我有一个名为 account/$id 的页面,我可以在其中获取具有该 ID 的帐户的所有交易。
- 我的最后一列是该交易后帐户 ID 的余额。一个反向运行的总计,我认为它被称为。示例:交易 3 的余额 = 交易 2 的余额 - 交易 2 的金额。
- 直到这里一切正常。
- 但是,当我进入分页时;只有第一页给了我正确的平衡。在第二秒,天平从头开始。
有效的代码:
控制器
$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>
我在links()中也尝试过不同的appends,但是好像不知道怎么用或者不起作用。
非常感谢任何可以帮助我的人。
【问题讨论】:
标签: laravel pagination append balance