0

昨日、Yii2 の ActiveForm で問題が発生しました。私は自分のサイトの検索フォームを作成していますが、すべての車をリストするページをロードすると (ここで検索フォームが実行されます)、Call to a member function formName() on null例外がスローされます。最初に、$model を使用するように DataProvider を変更しました。$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
    ]); ?>

回答ありがとうございます。良い1日を!

ガボール

4

2 に答える 2

0

さて、私は私の問題の解決策を見つけました。それは完全に私のせいでした。解決策は、Gepkocsi モデルの新しいインスタンスを作成し、それをパーシャルに渡すだけで、うまくいきました。あなたの答えとあなたの努力に感謝します!

于 2016-04-12T09:06:18.427 に答える