Dans mon repository, j'ai réalisé cette requête:
Et dans le controller, j'ai imaginé cette action:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public function findByUserAndTutorial($user_id, $tutorial_id) { $querybuilder = $this->createQueryBuilder('f') ->where('f.user = :user') ->setParameter('user', $user_id) ->andWhere('f.tutorial = :tutorial') ->setParameter('tutorial', $tutorial_id); $favorite = $querybuilder->getQuery() ->getOneOrNullResult(); return $favorite; }
Evidemment, j'ai une belle erreur:
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 public function favoriteByUserandTutorialAction() { $userManager = $this->container->get('fos_user.user_manager'); $user = $userManager->findUserByUsername($this->container->get('security.context') ->getToken() ->getUser()); $user_id = $user->getId(); $em = $this->getDoctrine()->getManager(); $favorite = $em->getRepository('SiteFrontBundle:Favorite')->findByUserAndTutorial($user_id); return $this->render('SiteFrontBundle:User/Favorite:favoriteByUserAndTutorial.html.twig', array( 'favorite' => $favorite, )); }
An exception has been thrown during the rendering of a template ("Warning: Missing argument 2 for Site\FrontBundle\Entity\FavoriteRepository::findByUserAndTutorial(), called in C:\wamp\www\PERSO\TFE-2.6.1\src\Site\FrontBundle\Controller\user\FavoriteController.php on line 324 and defined") in SiteFrontBundle:Tutorial:show.html.twig at line 69.
Je sais qu'il y a des erreurs dans mon controller, en effet je n'y récupère pas le tutorial_id, qui est en fait l'id du tutorial courant, mais voilà... je ne sais pas comment m'y prendre pour le récupérer.
Un peu d'aide serait la bienvenue.
Merci à vous, et au passage, bonne fêtes à toutes et tous!
Partager