0

昨天我遇到了 Yii2 的 ActiveForm 的问题。我正在为我的网站构建一个搜索表单,但是当我加载列出所有汽车的页面(这里是搜索表单)时,它会在 null异常上引发对成员函数 formName() 的调用。首先,我将 DataProvider 更改为使用 $model,$dataProvider 一直返回 NULL。当我转储 $model 中返​​回的数据时,我可以看到存储在表中的所有数据。(到目前为止一切顺利)我的目标是打印例如 UserGroups 作为搜索条件。

你怎么看,可能是什么问题?很明显,ActiveForm 没有获得任何非空的相关数据源,但正如我所写的那样,我在 $model 中获得了数据。

控制器文件:

/**
     * Aktív gépkocsik listázása
     * @return string
     */
    public function actionIndex() {
        $this->vanJogosultag(Url::current(), self::VIEW);
        $dataProvider = new ActiveDataProvider([
            'query' => Gepkocsi::find(),
        ]);

        $model = Gepkocsi::find()->all();

        return $this->render('lista', array('dataProvider' => $dataProvider, 'model' => $model));
}

_search.php(部分用于搜索表单)

<!-- Gépkocsi felhasználói csoport -->
        <div class="offset col-xs-8 col-xs-offset-2">
            <?= $form->field($model['rendszam'], 'rendszam')->textInput() ?>
        </div>

查看我将部分包含在列表视图中的文件

<?= $this->render('_search', [
        'model' => $model
    ]); ?>

谢谢您的回答!祝你今天过得愉快!

加博尔

4

2 回答 2

0

好的,我找到了解决问题的方法。这完全是我的错。解决方案是简单地创建一个 Gepkocsi 模型的新实例并将其传递给部分,然后它就可以工作了。感谢您的回答和努力!

于 2016-04-12T09:06:18.427 回答
0

为什么不更改数据提供者查询以像模型一样搜索所有项目?

$dataProvider = new ActiveDataProvider([
    'query' => Gepkocsi::find()->all(),
]);
于 2016-04-12T08:50:47.720 回答