控制器裡沒有
$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; }, ],
回複內容:
控制器裡沒有$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, ..)