php – Gridview函数yii2中的访问变量
作者:互联网
我试图访问视图文件中的变量到Gridview但它抛出错误,它应该是数组但是null我给我在视图文件上声明$totalDays并且我在Gridview中使用它,如下所示
[
'attribute' => 'class_id',
'format' => 'raw',
'label' => "Class Date",
'value' => function ($model) {
array_push($totalDays,$model->class->date);
return $model->class->date;
},
'footer'=> '<span>Total Days</span>',
],
但它会抛出以下错误
array_push() expects parameter 1 to be array, null given
解决方法:
为了解释,$totDays在小部件中不可用,因为整个函数仅在呈现小部件时运行,不再声明$totalDays.正如@arogachev上面暗示的那样,您需要在模型中创建$totalDays,然后才能访问它.在你的模型中尝试这个;
public function getTotalDays(){
//Your logic here to generate totalDays
return $totalDays;
}
然后你可以在你的视图中使用它;
[
'attribute' => 'class_id',
'format' => 'raw',
'label' => "Class Date",
'value' => function ($model) {
array_push($model->totalDays, totalDays,$model->class->date);
return $model->class->date;
},
'footer'=> '<span>Total Days</span>',
],
标签:yii2-basic-app,php,yii2,yii2-advanced-app 来源: https://codeday.me/bug/20190724/1526185.html