атрибут поля имени yii2 с использованием переменной

#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();
     }
  }