Bonjour à tous,

J'ai une table comments, à l'intérieur duquel se trouve une colonne filmId, qui est de type relation avec le primary id de, vous vous en douter, la table film. Pour le moment je récupère un film sur une page en fonction de son id, et recupère tous les commentaires, peut importe l'idée du film :
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
/**
  * @Route("/user/film/{id}", name="film")
  */
 public function film(FilmRepository $repo, CommentRepository $comRepo, EntityManagerInterface $em, Request $req, $id)
 {
     $film = $repo->find($id);
 
     $comments = $comRepo->findAll();
     dump($comments);
 
 
 
     return $this->render('film/film.html.twig', [
         'controller_name' => 'FilmController',
         'film' => $film,
         'comments' => $comments
     ]);
 }
J'ai fais un dump() de $comments afin d'en savoir un peu plus. Il me retourne que que filmId est de type PersistentCollection. J'aimerais bien récupérer les commentaires propres à chaque film en fonction de filmId.

J'ai essayé de les récupérer par un $comments = $comRepo->findBy($id) (vu que l'id du film que je récupère en $_GET est ce que je veux pour le filmId), ça m'affiche une belle erreur de Champ non reconnu
Unrecognized field: 0
En suivant la doc, j'ai tenté de créer une requête personnalisée comme ceci :
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
//CommentRepository
    public function findAllWithFilmId($filmId)
    {
        $em = $this->getEntityManager();
 
        $query = $em->createQuery(
            'SELECT c
            FROM App\Entity\Comment c
            WHERE c.filmId = :filmId'
        )->setParameter('filmId', $filmId);
 
        return $query->getResult();
    }
//FilmController
 $filmId = $id;
 $comments = $this->getDoctrine()
       ->getRepository(Comment::class)
       ->findAllWithFilmId($filmId);
Mais j'obtiens l'erreur suivante :

[Semantical Error] line 0, col 67 near 'filmId = :fi': Error: Invalid PathExpression. StateFieldPathExpression or SingleValuedAssociationField expected.
Auriez vous une piste ?

Merci et bonne journée à tous