> 백엔드 개발 > PHP 튜토리얼 > yii2模版里的匿名函数问题

yii2模版里的匿名函数问题

WBOY
풀어 주다: 2016-06-06 20:32:03
원래의
1162명이 탐색했습니다.

控制器里没有$model变量

<code>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,
        ]);
    }
</code>
로그인 후 복사
로그인 후 복사

但视图中的$model是从哪里来的

<code> [
      'attribute' => 'parent',
      'value' => function ($model) {
                    return empty($model->parent) ? '-' : $model->parent->name;
                },
            ],
</code>
로그인 후 복사
로그인 후 복사

回复内容:

控制器里没有$model变量

<code>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,
        ]);
    }
</code>
로그인 후 복사
로그인 후 복사

但视图中的$model是从哪里来的

<code> [
      'attribute' => 'parent',
      'value' => function ($model) {
                    return empty($model->parent) ? '-' : $model->parent->name;
                },
            ],
</code>
로그인 후 복사
로그인 후 복사

这是在 GridView里面的,

简单来说就是你通过的 dataProvider 通用 getModels() 获取所有的Model, 然后遍历生成表格,

每一行就是一个 Model, 在内容如果 value 是匿名方法的话就会调用 call_user_func($this->value, $model, ..)

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿