Dans mon repository, j'ai réalisé cette requête:

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;
    }
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
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,
        )); 
    }
Evidemment, j'ai une belle erreur:
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!