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 :

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;
  }
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
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();
                }
            ))
    ...
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é :

ç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 ?