Bonjour,

Je suis en plein développement d'une application web Symfony2 et je bloque sur un point assez spécifique :

J'ai un formulaire personnalisé qui enregistre des informations dans une seule table (disons la table livre).

Et cette table fait appel à une autre pour une information particulière (par exemple la table rayon, la table livre à une clé étrangère pour la table rayon).

Jusqu'ici ça va encore, je m'en sors. Le problème survient lorsque je souhaite afficher seulement certain rayon (lié à la fonction de l'utilisateur connecté), pas tous.

Concrètement voilà ce que ça donne :

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
25
26
 
public function utilisateurAjouterAction(){
		$utilisateur= $this->container->get('security.context')->getToken()->getUser();
		$fonction=$utilisateur->getFonction()->getId();
 
		$livre = new Livre();
		$livre->setUtilisateur($utilisateur);
 
		$form = $this->createFormBuilder($livre)
			->add('categorie','entity',array(
				'class'=>'Acme\LivreBundle\Entity\Rayon',
				'query_builder' => function(EntityRepository $er) {
					return $er->createQueryBuilder('n')
						->where('n.fonction= :fonction')->setParameter('fonction', 1)
						->orderBy('n.libelle', 'ASC')
						;
				},
				'property'=>'libelle',
			))
			->add('text','titre')
			->add('text','auteur')
			->getForm();
       	return $this->render('AcmeLivreBundle:Livre\\utilisateur:ajouter.html.twig',array(
			'form' => $form->createView(),
		));
    }
Le problème est à la ligne 14, lorsque je mets '1' comme ici cela fonctionne. Par contre, lorsque je remplace le '1' par '$fonction' de la ligne 4, une erreur m'indique que cette variable est inconnue.

Quelqu'un a-t-il été confronté à ce problème ?