Bonjour

J'ai créé une entité contenant un champ de type CollectionType
Ceci est pratiquement identique à http://symfony.com/doc/current/form/...llections.html

La seule différence est que j'ai ajouté un SubmitType qui POST sur un url précisé lors de sa création (via setAction())

Mon souci est que lors du Post, les données sont mal envoyées / récupérées.

En effet, au final, je me retrouve avec, pour reprendre l'exemple du lien, un array des champs des éléments ie : [ [ champ1 champ2 champ3] [ champ1 champ2 champ3] .... [ champ1 champ2 champ3]].
Alors que je vuex un array des éléments avec leurs champs rensignés ie : [ Element1([ champ1 champ2 champ3]) Element2([ champ1 champ2 champ3]) .... Elementn([ champ1 champ2 champ3])].

Il en résulte que pour ce champ de type ArrayCollection, une erreur est levée précisant que les valeurs sont dans le champ 'extraData'.

Voici le builder du form :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
          $builder
            ->add('ID', IntegerType::class)
            ->add('éléments', CollectionType::class, array(
                'entry_type' => ElementType::class
            ))
            ->add('save', SubmitType::class, array('label' => 'Save config'));
et le builder de ElementType:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
       ->add('champ1')
       ->add('champ2')
       ->add('champ3')
Ah je précise aussi que je mets ça en entrée dans le form:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
CODE]
 "elements" => [▼
    Element["champ1" => "A"
      "champ2" => 
      "champ3" => 
    ]
    Element["champ1" => "B"
      "champ2" => 
      "champ3" => 
    ]
[/CODE]


Et j'obtiens ça en sortie une fois le form complété et envoyé:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
 "elements" => [["champ1" => "A"
      "champ2" => "hihi"
      "champ3" => "hoih"
    ]
    ["champ1" => "B"
      "champ2" => "hoih"
      "champ3" => "iohoi"