Bonjour,
J'essaye de mettre en place un formulaire qui utilise le principe des embed forms.
Voici la structure (simplifiée):
Je voudrais créer un objet Table2 et "en même temps" l'objet Table1 lié, j'ai donc pensé à utiliser embed forms.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Table1: actAs: [Timestampable] columns: table2Id: { type: integer } etc... relations: Table2: { local: table2Id, foreign: id, foreignAlias: Table1 }
Cependant je n'arrive pas à lier les deux formulaires...
Voici ce que je fais dans mon Table1Form.class.php
Ce code fonctionne lorsque je crée des objets séparément (directement en base par exemple) et que je fais une édition.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 //Dans la fonction configure() de Table2Form.class.php if(!$this->getObject()->isNew()){ $objTable1 = Doctrine::getTable('Table1')->findOneByTable2Id($this->getObject()->getId()); $embedForm = new Table1Form($objTable1); } else { $embedForm = new Table1Form(); } $this->embedForm('myEmbedForm', $embedForm);
Par contre pour une création cela ne fonctionne, ce qui est logique vu que mon si mon objet est nouveau je n'ai pas encore d'Id à assigner à mon second objet...
Je dois donc avoir oublié de binder les deux formulaires quelque part...
Avez vous des idées ? Merci d'avance.
Partager