Yii - Transferer une variable dans un formulaire

Bonjour, je suis un débutant avec Yii, j’ai l’habitude de développer en php mais je dois avouer que la prise en main de yii est vraiment dure.

Je vous explique mon problème:

J’ai une base de données avec deux tables: parents et enfants.

Pour savoir quels enfants appartient à quels parents, j’ai attribué un id aux parents,que j’ai appellé “matricule” qui est aussi une clé étrangère chez les enfants.

Ensuite avec le générateur Gii, j’ai créé les formulaires de chaques tables.

J’ai fais en sorte qu’à la création du parent, on soit redirigé vers le formulaire des enfants.

J’aimerai savoir comment envoyer le matricule des parents dans le formulaire des enfants pour ne pas avoir à le taper une deuxième fois. Je ne vois pas comment faire, j’ai tenté de contourner le problème avec un $_GET mais ce n’est pas suffisant.

Bonjour,

Je pense que le fait de le passer en GET dans l’URL est une bonne solution. En quoi te gêne t’elle ?

Tu peux aussi ajouter un parametre lors de l’appel de l’action qui va afficher ta form pour l’enfant :


public function actionEnfant($id) 

{

   $model = new Enfant;

   $model->matricule = $id;


   return $this->render('enfant', [ 'model' => $model ]);

} 

du coup lors de ton appel ou ta redirection vers cette action apres la création de ton parent tu doit passer le parametre :


$this->redirect(['enfant', 'id' => $idParent]);

et dans le formulaire de l’enfant tu peux rajouter le champs id du parent en champs cacher :


$form->field($model, 'matricule')->hiddenInput()->label(false)

Oui, c’est exactement ce que j’avais en tête.


$this->redirect(['enfant', 'id' => $idParent])

va transmettre l’identifiant du parent dans l’URL.

Mais j’ai bien peur que nous n’ayons aucune réponse de l’auteur malheureusement…