#yii #yii2 #field #active-form
Вопрос:
Я пытаюсь создать в activeform серию элементов управления, используя цикл, чтобы не объявлять различные поля модели, чтобы иметь общий шаблон, в который я передаю только имя таблицы, и он создает форму редактирования. Так что, если я передам таблицу A, и в ней будет 3 поля, она создаст три поля, в таблице b будет 5 полей, она создаст 5 полей и т. Д. и т. Д.
$tfields= Массив ( [0] => идентификатор [1] =>> идентификатор бренда [2] =>>> идентификатор группы)>>> и я создаю этот код
foreach($tfields as $key => $value) {
if (strlen($value)>0){
echo $form->field($model, $value)->textInput();
}
}
но когда я запускаю код, я получаю эту ошибку
Вызов неизвестного метода: yiidataActiveDataProvider::isAttributeRequired()
есть какие-нибудь идеи? ткс много!
Комментарии:
1. Ошибка от ActiveDataProvider. обновите вопрос с недостающими деталями. что находится в текущем файле и контроллере.
Ответ №1:
проблема заключалась в том, что я использую ActiveDataProvider в качестве модели, используя вместо этого и DynamicModel
в контроллере
$model2= new yiibaseDynamicModel([
]);
в виде
foreach(explode(',',$fields) as $item){
if (strlen($item)<>0){ //to avoid empty
echo $form->field($model2, $item)->textInput();
}
}