Maintenant le problème est que, quand je créer un nouvelle objet de réponse, et que je demander de persister, symfony me renvoie l'erreur suivante

Call to a member function persist() on null

Voici mon code

 /**
     *
     * @Route("/new-reponse/{id}", name="admin_new_reponse")
     */
    public function newReponse(Question $question, Request $request)
    {
        $reponse = new Reponse();
        $reponse
            ->setQuestion($question)
            ->setExercice($question->getExercice());

        $form = $this->createForm(ReponseType::class, $reponse);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {

            //dd($reponse);

            $this->em->persist($reponse);
            $this->em->flush();

            $this->addFlash('success', 'Réponse enregistré avec succès');

            return $this->redirectToRoute('admin_index_reponses', ['id' => $question->getId()]);
        }

        return $this->render('admin/formation/exercice/reponse/form_reponse.html.twig',
            [
                'question' => $question,
                'form' => $form->createView(),
            ]
        );
    }

Or quand je décommente le dd($reponse), je vois bien que $reponse est très bien rempli.

D'où vient ce problème et comment je peux le résoudre ?

1 réponse


Devdeb22
Auteur
Réponse acceptée

Problème résolu !
J'avais tous simplement oublié de donner le nom __construct à mon constructeur

private $em;
public function FunctionName(EntityManagerInterface $em)
{
    $this->em = $em;
}

Holala les erreurs d'innatention c'est incroyable le temps que ça te fais perdre.