编程语言
首页 > 编程语言> > php – Gridview函数yii2中的访问变量

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