Bonjour,
Existe-t-il une solution pour trier une collection de formulaire en fonction d'un champ.
J'ai un fomulaire ArchitectureType
et un autre BatimentType
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 //... $builder ->add( 'batiments', 'collection', array( 'type' => new BatimentType(), 'allow_add' => true, 'allow_delete' => true, 'by_reference' => false, 'prototype' => true)) ->getForm(); //...
L'entité Architecture a une relation OneToMany définie comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 //... $builder ->add('libelle', 'text') ->add('position', 'integer', array('required'=>false)) ->getForm(); //...
Le template twig : {{ form }} est le formulaire ArchitectureType
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 /** * @ORM\OneToMany(targetEntity="Acme\MyBundle\Entity\batiment", mappedBy="architecture", cascade={"persist", "remove"}) * @ORM\OrderBy({"position" = "ASC"}) */ protected $batiments;
Comment faire pour afficher les champs de form.batiments dans l'ordre de batiment.position ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <table id="batiments" class="w100p listview"> <tbody> {% for batiment in form.batiments %} <tr> <td>{{ form_widget(batiment.libelle) }}</td> <td>{{ form_widget(batiment.position) }}</td> </tr> {% endfor %} </tbody> </table>
Merci pour votre aide
Gillou.
Partager