Quantcast
Channel: Grafikart | Derniers Sujets du forum
Viewing all articles
Browse latest Browse all 1542

Comment faire passer le paramètre d'une route dans une fonction

$
0
0

Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

J'ai le code suivant dans un controleur

    /**
     *Cette méthode affiche le contenu du cours de la formation
     * @return Response
     * @Route("cours/{id_formation}", name="cours")
     */
    public function cours($id, $module = 1)
    {
        $repoPartie = $this->getDoctrine()->getRepository(Partie::class);
        $parties = $repoPartie->findBy(['formation'=> $id, 'module' => $module]);

        if ($parties) {

            $repoChapitre = $this->getDoctrine->getRepository(Chapitre::class);
            $chapitres = $repoChapitre->findBy(['partie' => $parties->getId(), 'sousChapitre' => NULL]);

            return $this->render('formation/cours.html.twig', ['parties' => $parties, 'chapitres' => $chapitres]);
        }
       else {
           return $this->render('formation/redaction_encours.html.twig');
       }
    }

Comme vous pouvez le voir au niveau de la route, je fais passer un paramètre qui 'id_formation'

Comment faire comprend à symfony que la valeur de la variable $id passé en argument dans méthode cours() correspond à la valeur du paramètre id_formation passé dans la route.

Car j'ai l'erreur suivante :

Controller "App\Controller\FormationController::cours()" requires that you provide a value for the "$id" argument. Either the argument is nullable and no null value has been provided, no default value has been provided or because there is a non optional argument after this one.

Pour information la valeur de id_formation existe forcément et ne peux pas être null.


Viewing all articles
Browse latest Browse all 1542

Trending Articles