gpt4 book ai didi

gridview - Yii2 gridview 自定义列值

转载 作者:行者123 更新时间:2023-12-04 22:57:15 26 4
gpt4 key购买 nike

我想在列中显示我的交易表中一个/所有帐户的总余额。余额列应显示添加上一行总余额的余额。
我的网格 View 代码是

<?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;
}

我想像这样显示结果
enter image description here

我在我的 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;
},

最佳答案

在网格 View 中:

<?php
$gridColumns = [
['class' => 'yii\grid\SerialColumn'],
'account_no',
'credit',
'debit',
[
'label' => 'Balance',
'value' => function ($model) {
return $model->Balance();
}
],
'created_date:date',
];
?>

模型:
public function Balance()
{

$data = DepTransaction::findOne($this->id);

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 - Yii2 gridview 自定义列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39996447/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com