1

I have a dropdown list in an active form i display the data correctly but when I want to insert the value of the selected value of the dropdownlist the value is null.

In my 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]);

In my view :

<?= $form->field($model, 'idEtatRessource')->dropDownList($etats) ?>

And in the model :

    $histEtatRessource                  = new HistoriqueEtatRessource();
    $histEtatRessource->idRessource     = $this->idRessource;
    $histEtatRessource->idEtatRessource = $this->idEtatRessource;

    if ($ressource->save() && $histEtatRessource->save())
    {
        return $ressource;
    }

I have an IntegrityException because the value of $this->idEtatRessource is null (primary key in my db)

Thanks !

---EDIT---

When I passed $_POST['idEtatRessource'] instead of $this->idEtatRessource it work and I don't know why ! Help please ;)

Samaël Villette
  • 198
  • 1
  • 22

1 Answers1

0

I find where my problem was :

I didn't have rules validations for those fields so when I loaded the model values of those two fields where null.

Source :model->attributes in Yii2 always has NULL value

Community
  • 1
  • 1
Samaël Villette
  • 198
  • 1
  • 22