控制器里没有$model
变量
public function actionIndex()
{
// if (!ctype_digit($parent)) {
// throw new InvalidValueException();
// }
$searchModel = new NsortSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->render('index', [
// 'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
但视图中的$model
是从哪里来的
[
'attribute' => 'parent',
'value' => function ($model) {
return empty($model->parent) ? '-' : $model->parent->name;
},
],
这是在
GridView
里面的,简单来说就是你通过的
dataProvider
通用getModels()
获取所有的Model, 然后遍历生成表格,每一行就是一个 Model, 在内容如果
value
是匿名方法的话就会调用call_user_func($this->value, $model, ..)