Bonjour,

Voila je rencontre un petit problème avec mon code.
html.twig
{% for ck in calendrier %}
{% endfor %}

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

 public function calendrierAction(Request $request) {
            if($request->getMethod()=='POST'){
 $name=$request->get('name');
 $email=$request->get('email');   
 $phone=$request->get('phone');
 $date=$request->get('date');
 $msg=$request->get('msg');     
 $zonetime=$request->get('zonetime');

         $cal = new calendrier();
 $cal->setname($name);
 $cal->setemail($email);
 $cal->setphone($phone);
 $cal->setdate($date); 
 $cal->setmsg($msg);
 $cal->setzonetime($zonetime);
              $en = $this->container->get('doctrine')->getEntityManager();
                                  $cal= $en->getRepository('AppBundle:calendrier')->findAll();

$en->persist($cal);
$en->flush();
return $this->render('default/calendrier.html.twig',array('calendrier' => $cal)); }
else{
return $this->render('default/calendrier.html.twig');
}

 }

Ce que je veux

parcourir table calendrier

Ce que j'obtiens

Variable "calendrier" does not exist.

3 réponses


Peux-tu faire ceci après

     $en = $this->container->get('doctrine')->getEntityManager();
                                  $cal= $en->getRepository('AppBundle:calendrier')->findAll();

un print_r($cal);
Si ça te retourne une page blanche avec pleins de d'objets (classes )

Mais, ce que je comprend pas, tu fais un findAll() pour que tu stocks dans $cal puis tu fais ta persistance des données :
$en->persist($cal);
$en->flush();

fais plutôt

         $cal = new calendrier();
         // tu renseignes ta classe calendrier
           $cal->setname($name);
           $cal->setemail($email);
           $cal->setphone($phone);
           $cal->setdate($date); 
           $cal->setmsg($msg);
           $cal->setzonetime($zonetime);
 //Tu met des données en bdd
 $en->persist($cal)
$en->flush();

// puis tu récup tout le cal
$en = $this->container->get('doctrine')->getEntityManager();
$cal= $en->getRepository('AppBundle:calendrier')->findAll();

Toi, tu avant, tu avais écrasé $cal.

Bonsoir.
Le message d'erreur est explicite, il te dit que la variable n'est pas définie au moment où tu veux l'utiliser.
Ce qui est normal étant donné que la variable n'est défini que lorsque ta fonction est utilisée avec une requête POST, par conséquent, si tu veux l'utiliser lorsque c'est une requête GET elle ne peut pas être définie d'après ton code.