【发布时间】:2016-10-12 10:34:22
【问题描述】:
我想在一列中显示我的交易表中的一个/所有帐户的总余额。余额列应显示加上前一行总余额的余额。 我的gridview代码是
<?php
$gridColumns = [
['class' => 'yii\grid\SerialColumn'],
'account_no',
'credit',
'debit',
[
'label' => 'Balance',
'value' => function ($model) {
return $model::Balance();
}
],
'created_date:date',
];
?>
我的模型中的代码如下所示。我可以通过硬编码 Deptransaction::findOne(1) 来获得第一行的值。
public static function Balance()
{
$data = DepTransaction::find();
if($data->credit != 0){
$cap_bal = $cap_bal +($data->credit - $data->debit);
}
if($data->debit != 0){
$int_bal = $int_bal + ($data->credit - $data->debit);
}
$total = $cap_bal+$int_bal;
return $total;
}
我在我的 gridview 中尝试了以下代码,但它仅显示单个行的余额
'value' => function($data) {
if($data['head_type']=="CAP"){
$cap_bal = $cap_bal +($data['credit']-$data['debit']);
}
if($data['head_type']=="INT"){
$int_bal = $int_bal+($data['credit']-$data['debit']);
}
$total = $total + $cap_bal+$int_bal;
return $total;
},
【问题讨论】:
-
您找到解决问题的方法了吗?
-
运气好能得到答案吗?