У меня есть выпадающий список в активной форме, я отображаю данные правильно, но когда я хочу вставить значение выбранного значения из выпадающего списка, значение равно нулю.
В моем контроллере:
$model = new AjoutRessourceForm();
if ($model->load(Yii::$app->request->post()) && $model->validate())
{
if ($ressource = $model->addRessource())
{
return $this->redirect(['form/ressource']);
}
}
$sql = "select idEtatRessource, nomEtatRessource from etat_ressource";
$command = $connection->createCommand($sql);
$data = $command->queryAll();
$etats = ArrayHelper::map($data, 'idEtatRessource', 'nomEtatRessource');
return $this->render('/form/newRessource', ['model' => $model, 'etats' => $etats, 'types' => $types]);
По-моему :
<?= $form->field($model, 'idEtatRessource')->dropDownList($etats) ?>
И в модели:
$histEtatRessource = new HistoriqueEtatRessource();
$histEtatRessource->idRessource = $this->idRessource;
$histEtatRessource->idEtatRessource = $this->idEtatRessource;
if ($ressource->save() && $histEtatRessource->save())
{
return $ressource;
}
У меня есть IntegrityException, потому что значение $this->idEtatRessource
является нулем (первичный ключ в моей базе данных)
Спасибо !
—РЕДАКТИРОВАТЬ—
Когда я прошел $_POST['idEtatRessource']
вместо $this->idEtatRessource
это работает, и я не знаю почему! Помогите, пожалуйста 😉
Я нахожу, где моя проблема была:
У меня не было валидации правил для этих полей, поэтому, когда я загружал значения модели этих двух полей, где значение равно нулю.
Источник :модели->атрибуты в Yii2 всегда имеют значение NULL
Других решений пока нет …