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 :
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.
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 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 reconnuEn suivant la doc, j'ai tenté de créer une requête personnalisée comme ceci :Unrecognized field: 0
Mais j'obtiens l'erreur 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
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);
Auriez vous une piste ?[Semantical Error] line 0, col 67 near 'filmId = :fi': Error: Invalid PathExpression. StateFieldPathExpression or SingleValuedAssociationField expected.
Merci et bonne journée à tous
Partager