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 :
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' }
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.

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 :

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));
}
Mais une erreur m'est retournée : Call to undefined method sfFormField::bind(). ->ligne 10.
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.