我正在尝试将 View 文件中的变量访问到Gridview
中,但是它引发了it should be array but null given
错误,即我在 View 文件顶部声明了$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>',
],
但它引发以下错误
最佳答案
解释一下,小部件中没有$totalDays
,因为整个功能仅在呈现小部件时才运行,不再声明$totalDays
。正如上面@arogachev所暗示的那样,您需要在模型中创建$totalDays
,然后才能对其进行访问。在您的模型中尝试一下;
public function getTotalDays(){
//Your logic here to generate totalDays
return $totalDays;
}
然后,您可以像这样在您的 View 中使用它;
[
'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>',
],
关于php - Gridview函数yii2中的访问变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34444766/