Bonjour,
Sous Symfony 2.3 avec JordiLlonchCrudGeneratorBundle :
J'ai une entité Activité qui contient une relation ManyToOne avec une entité Client (JoinColumn(nullable=false))
J'ai généré mon CRUD avec JordiLlonchCrudGeneratorBundle et ça marche très bien.
Seulement, quand j'affiche la liste des activités, j'aimerai pouvoir filtrer par client.
J'ai donc créé une fonction dans ClientRepository.php :
Ensuite j'ai édité mon ActiviteFilterType.php de la manière suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public function findActifClients() { $qb = $this->createQueryBuilder('a'); $qb->where('a.actif = :actif') ->setParameter('actif', true) ->orderBy('a.nom', 'ASC'); return $qb; }
Maintenant quand j'affiche la liste des activités je trouve bien la possibilité de filtrer par client mais le problème arrive quand je veux effectivement filtrer sur un client donné :
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 class ActiviteFilterType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('nom', 'filter_text') ->add('client', 'entity', array( 'class' => 'Too\ClientBundle\Entity\Client', 'property' => 'nom', 'required' => false, 'query_builder' => function(EntityRepository $er) { return $er->findActifClients(); } )) ...
ça n'a aucun effet - la liste des activité reste la même comme si je n'avais pas de filtre.
Il y a quelque chose qui m'echappe là
Pouvez vous m'aider ?
Partager