Я создаю форму для ввода продукта, который имеет activeDropdownList для выбора категории продукта из другой таблицы.
Я использую класс ActiveRecord в моделях товаров и категорий и использую модели категорий для заполнения раскрывающегося списка.
Когда я пытаюсь вставить продукт, это не удалось, потому что имя выпадающего списка.
Все остальные поля имя как name="CreateEvent[tanggal]">
и выпадающий список моей категории: name="id">
Как интегрировать это без жесткого раскрывающегося атрибута?
На моем контроллере:
$kategori = $items = ArrayHelper::map(Kategori::find()->all(), 'id', 'nama');
// check post header, call $model->save() if post is exist
if($model->load(Yii::$app->request->post()) && $model->save()) {
Yii::$app->session->setFlash('status', 'success');
return $this->redirect(['create']);
}
На мой взгляд:
$form = ActiveForm::begin();
echo $form->field($model, 'nama')->input('text');
echo $form->field($model, 'lokasi')->input('text');
echo $form->field($model, 'tanggal')->widget(DatePicker:: classname(),
[
]);
echo Html::activeDropDownList($model,'id',$kategori,[]);
echo Html::submitButton('Submit', ['class'=>'btn btn-primary']);
ActiveForm::end();
Благодарю.
Если я правильно тебя понял,
Как называется ваша колонка в таблице товаров, где вы сохраняете категории?
вместо использования HTML почему бы вам не использовать что-то вроде этого:
use yii\helpers\ArrayHelper;
$form->field($model,'your column name')->dropdownlist(ArrayHelper::map(Kategori::find()->all(), 'id', 'nama'));
Поле в вашей таблице будет что-то вроде ‘category_id’.
Поэтому ваш выпадающий код должен быть
echo Html::activeDropDownList($model,'category_id',$kategori,[]);