Bonjour,
Mon problème est le suivant : je génère un formulaire personnalisé dans lequel j'embarque n sous-formulaires correspondant à une classe.
Après avoir submit mon formulaire, les données contenues dans mon post se présentent de la manière suivante :
Je n'ai donc pas un tableau contenant les données de mes n sous formulaires, mais n tableau contenant les valeurs de chaque sous formulaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 post: 1_1: { quantity: '1', partner_sales_assistant_id: '6', partner_sales_manager_id: '6', dotation_id: '1', partner_id: '1' } 1_2: { quantity: '1', partner_sales_assistant_id: '8', partner_sales_manager_id: '8', dotation_id: '1', partner_id: '2' }
J'aimerais pouvoir bind (et save par la même occasion) chacun des sous formulaires avec les tableaux contenus dans mon post.
Pour cela : j'ai tenté de faire ça de la manière suivante :
Mais une erreur m'est retournée : Call to undefined method sfFormField::bind(). ->ligne 10.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $this->embeddedForms = new sfForm(); foreach($this->partners as $partner) { $form = new DotationPartnerForm(); $this->embeddedForms->embedForm($this->dotation->getId().'_'.$partner->getId(), $form); } foreach($this->embeddedForms as $name => $form) { $form->bind($request->getParameter($name)); }
J'en conclus donc que les éléments de mon embeddedForms ne sont pas des form et ça me contrarie beaucoup mais soit.
J'avais alors pensé bind le parent ($this->embeddedForms) mais je ne sais pas comment du fait que mon post ne renvoie pas un tableau avec des sous tableaux mais directement tous mes sous tableaux.
Qu'avez-vous à me suggérer ? Merci.
Partager