Salut à tous,

Dans un form j'aimerais mettre en place un champ de type entity qui fonctionnerait de la manière suivante :
- à la création du form le champ contiendrait la liste des libellés de la table lié à l'entity du form (pas de problème cela marche)
- à la soumission du form, retrouver l'ensemble des libellés de la table lié à l'entity et avoir en tête et 1e affichage dans le champ la valeur soumisse et validée par le user (pas de problème cela marche)
- lors de la recréation de la page SANS SOUMISSION DU FORM, pouvoir reconstruire le champ avec en tête la précédente valeur soumisse et validée de l'utilisateur qui a été mise en session et continuer à avoir la liste des libellés de la table lié à l'entity également (c'est cela que je n'arrive pas à faire).

Voici le code du champ lié au form :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $defaultCQSsearch = new CqsProSansMarque();
        $defaultCQSsearch->setRayLibelle((!array_key_exists('ray_libelle', $options['attr'])) ? null : $options['attr']['ray_libelle']);
        $defaultCQSsearch->setFamLibelle((!array_key_exists('fam_libelle', $options['attr'])) ? null : $options['attr']['fam_libelle']);
        $defaultCQSsearch->setCaeLibelle((!array_key_exists('cae_libelle', $options['attr'])) ? null : $options['attr']['cae_libelle']);
 
        $builder
            ->add('ray_libelle', 'entity', array(
                'class' => 'ApplicationDriveBundle:CqsProSansMarque',
                'data_class' => 'Application\DriveBundle\Entity\CqsProSansMarque',
                'property' => 'ray_libelle',
                'query_builder' => function(CqsProSansMarqueRepository $er){
                    return $er->createQueryBuilder('a')
                    ->select('a')
                    ->groupBy('a.ray_libelle');
                },
                'preferred_choices' => array($defaultCQSsearch),
                'label' => 'rayon',
                'required' => false,
            ))
Qu'est ce qui pourrait bien empécher le fonctionnement de cette option de "preferred_choices" fort intéressante ?
Je possède bien un objet setter correctement avec les données en session et pourtant cela ne marche toujours pas.

Qu'en pensez-vous ?

Merci pour votre aide.