Bonsoir les amis,
Cela fait plusieurs jours que je recherche comment mettre une query builder dans un FormType.
Je viens de trouver une solution qui semble fonctionner
Mais Symfony me renvoie l'erreur suivante :
HTTP 500 Internal Server ErrorExpected argument of type "Doctrine\ORM\QueryBuilder", "array" given
Je ne comprend pas d'où vient cet erreur, car l'impression de faire Query comme j'ai l'habitude de le faire.
Voici mon code dans le fichier FormType
->add('niveau', EntityType::class,
[
'class' => Niveau::class,
'choice_label' => 'nomNiveau',
'query_builder' => function (NiveauRepository $nr) use ($id_formation, $id_groupement) {
return $nr->niveauChapitre($id_formation, $id_groupement);
},
]
)
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => Chapitre::class,
'id_formation' => null,
'id_groupement' => null,
]);
}
Voici mon code dans le Repository
/**
* @return Niveau[] Returns an array of Niveau objects
*/
public function niveauChapitre($id_formation, $id_groupement)
{
return $this->createQueryBuilder('n')
->andWhere('n.formation = :formation')
->setParameter('formation', $id_formation)
->andWhere('n.groupement = :groupement')
->setParameter('groupement', $id_groupement)
->getQuery()
->getResult()
;
}
Problème résolu :
En faite il fallait que je retire les méthodes
->getQuery()
->getResult()
Du fichier Repository