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.