Вчера я столкнулся с проблемой с ActiveForm от Yii2. Я создаю форму поиска для своего сайта, но когда я загружаю страницу, в которой перечислены все машины (здесь имеет место форма поиска), она выбрасывает . Вызов функции-члена формыName() для исключения. Сначала я изменил DataProvider для использования модели $, $ dataProvider возвращал NULL все время. Когда я сбрасываю данные, возвращающиеся в $ model, я могу видеть все данные, хранящиеся в таблице. (Пока это так хорошо) Моей целью было бы напечатать, например, UserGroups в качестве условия поиска.Yii2 использовать ActiveForm для поиска
Как вы думаете, в чем проблема? Понятно, что 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 (частично для формы SERACH)
<!-- 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
]); ?>
Спасибо за ответы! Хорошего дня!
Габор
Это потому, что я использую виджет DetailView на той же странице, и этот виджет ждет такого результата. Я пробовал, но он не работает, выдает эту ошибку: ** Свойство query должно быть экземпляром класса, который реализует QueryInterface, например. yii \ db \ Query или его подклассы **. – Gabesz