Bonjour à tous,

J'ai créé dans mon formulaire un select sensé proposer le choix d'un mois et année venant d'une fonction contenue dans mon repository, cependant, le select ne propose aucun choix alors que la fonction du repository elle retourne les bons résultats... Symfony ne m'affiche aucune erreur mais le select reste désespéramment vide !

Merci d'avance pour votre expertise

RendezVousRepository.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
    public function getListeMoisRdv()
    {
        return $this->createQueryBuilder('r')
            ->select("DISTINCT date_format(r.horaire_debut,'%m-%Y') As mois")
            ->orderBy('mois', 'DESC')
            ->getQuery()->getScalarResult();
    }
RendezVousType.php :
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
 
namespace App\Form;
 
use App\Entity\EtatsRdv;
use App\Repository\RendezVousRepository;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\SearchType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
 
class RechercherRdvType extends AbstractType
{
 
    public function buildForm(FormBuilderInterface $builder, array $options): void
    {
 
        $builder
            ->add('champRecherche', SearchType::class, [
                'mapped' => false, 'label' => 'Rechercher : ', 'attr' => ['placeholder' => 'Rechercher par nom, prénom, date ...(min. 2 caractères)']
            ])
            ->add('rechercherEtatRdv', EntityType::class, [
                'class' => EtatsRdv::class, 'placeholder' => '-- Veuillez choisir un état de rdv --', 'multiple' => false, 'choice_label' => 'getEtat'
            ])
            ->add('listeRdvParMois', ChoiceType::class, [
                'expanded'=>false,
                'multiple'=>false,
                'choice_value'=>'mois',
                'choice_label' => function (RendezVousRepository $rendezVousRepository) {
                    return $rendezVousRepository->getListeMoisRdv();
                },
                'placeholder' => '-- Veuillez choisir un mois --'
            ]);
    }
 
 
 
    public function configureOptions(OptionsResolver $resolver): void
    {
        $resolver->setDefaults([
            'attr' => ['id' => 'formRecherche']
        ]);
    }
}