Bjr à tous!
Cela fait des semaines que je suis entrain de tenter vainement de récupérer une variable de session dans un FormType.
Objectif: j'ai une classe "Classe" qui à une relation ManyToOne avec une classe "Permis". Dans le menu déroulant lors de la création d'une nouvelle classe je voudrais voir uniquement les permis de l'utilisateur connecté et non dérouler tous les permis de la table" Permis" dans ma BDD. Voici comment j'ai démarré mais la méthode "get ()", "getToken ()", getUser ()", " container" ne sont pas interprétés dans le FormType et génèrent des erreurs.

J'ai dû écrire un service pr le container mais j'ai rien trouvé pour le get.

Si vous pouvez me trouver une autre alternative pour atteindre cet objectif.

Voici le code du FormType:
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
22
23
24
# public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('nomClasse')
            ->add('descriptionClasse')
            ->add('maxEleveClasse')
            ->add('coutClasse')
            ->add('Formation','entity', array('class'=>'stage\FormationBundle\Entity\Formation','choice_label'=>'libelleFormation'));
 
        //Récupération de l'instance de la table AutoEcole liée à l'utilisateurs connecté
 
        $user = $this->container->get('security.context')->getToken()->getUser();
        $AutoEcole= $user->getAutoEcole();
 
        $builder->add('Permis','entity', array('class' => 'stage\FormationBundle\Entity\Permis','choice_label' => 'nomPermis',
            'query_builder' => function (entityRepository $er) use($AutoEcole) {
                //return $er->permisParAutoEcole($this->Permis);
               createQueryBuilder('m')
                ->where('m.AutoEcole =:nom')
                ->setParameter('nom', $AutoEcole)
                ->getQuery();
        return $er->$this->getResult();
    }));
    }#