Ich habe eine Dropdownliste in einer aktiven Form Ich zeige die Daten korrekt an, aber wenn ich den Wert des ausgewählten Wertes der Dropdownliste einfügen möchte, ist der Wert Null.yii2 Nullwert in der Dropdownliste
In meinem Controller:
$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]);
Aus meiner Sicht:
<?= $form->field($model, 'idEtatRessource')->dropDownList($etats) ?>
Und im Modell:
$histEtatRessource = new HistoriqueEtatRessource();
$histEtatRessource->idRessource = $this->idRessource;
$histEtatRessource->idEtatRessource = $this->idEtatRessource;
if ($ressource->save() && $histEtatRessource->save())
{
return $ressource;
}
Ich habe einen IntegrityException, weil der Wert von $this->idEtatRessource
null ist (Primärschlüssel in meinem db)
Danke!
--- EDIT ---
Als ich $_POST['idEtatRessource']
geben statt $this->idEtatRessource
es funktioniert und ich weiß nicht, warum! Hilfe bitte;)
Wie werden Sie die POST-Daten in das Modell geladen? – Alex
Ich habe meine Antwort bearbeitet –
Sie speichern den Wert von der Funktion addRessource? ... bitte zeigen Sie den zugehörigen Code an .. sonst .. erklären, wie Sie die Daten speichern .. – scaisEdge