1
私はアクティブなフォームでドロップダウンリストを持っていますが、データを正しく表示していますが、ドロップダウンリストの選択値の値を挿入したい場合、値はnullです。yii2ドロップダウンリストのnull値
<?= $form->field($model, 'idEtatRessource')->dropDownList($etats) ?>
とモデルで:私の見解では
$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]);
:私のコントローラで
$histEtatRessource = new HistoriqueEtatRessource();
$histEtatRessource->idRessource = $this->idRessource;
$histEtatRessource->idEtatRessource = $this->idEtatRessource;
if ($ressource->save() && $histEtatRessource->save())
{
return $ressource;
}
$this->idEtatRessource
の値がnullであるので、私はIntegrityExceptionを持っています(私のdbの主キー)
ありがとうございました!
--- EDIT ---
私はそれが仕事と私はなぜ知らない$_POST['idEtatRessource']
代わりの$this->idEtatRessource
を通過しました!私はどこヌルこれら二つのフィールドのモデル値をロードしたとき、私はとてもこれらのフィールドのためのルールの検証を持っていなかった
:私の問題があった場所、私が見つけ
どのようにPOSTデータをモデルにロードしていますか? – Alex
私の回答を編集しました –
あなたは関数addRessourceによって値を保存しますか? ...関連するコードを表示してください..そうでなければデータを保存する方法を説明してください。 – scaisEdge