Bonjour,

Voila je rencontre un petit problème avec mon code

Je veux faire un formulaire de saisir de note des eleves d'une classe pour une evaluation donnée. Dans le formulaire j'insere un tableau afin d'avoir tout les eleves qui sont inscris dans dans cette classe et qui n'ont pas eu une note pour cette evaluation selectionner. Pour chaque eleve un champs de type <td><input type="number" placeholder="note/20" id="note" name="note['{{v.eleve.id}}']" value="" required="required" class="form-control"></td> avec un tableau dans le name afin de pouvoir recupere l'id de l'eleve et la note entre dans ce champs

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

Voila mon fichier twig
<form class="form-horizontal panel" method="post" action="{{path('save_multiple')}}">

                                  <table class="table table-striped">
                                     <caption align="center"><strong> Entre les Notes de l'evaluation</strong></caption>
                                    <thead>
                                        <th>Nom </th>
                                        <th>Prenom</th>

                                        <th>Matricule</th>
                                        <th>Note Evaluiation</th>

                                    </thead>
                                    <tbody>
                                        {% for v in var%}
                                        <tr>

                                            <td>{{v.eleve.nomEleve}}</td>
                                            <td>{{v.eleve.prenomEleve}}</td>

                                            <td>{{v.eleve.matricule}}</td>
                                            <td><input type="number" placeholder="note/20" id="note" name="note['{{v.eleve.id}}']" value="" required="required" class="form-control"></td>

                                        </tr>
                                        {% endfor %}
                                        <tr>
                                            <td><input type="hidden" name="idev" value="{{entity.id}}"></td>
                                            <td>
                                                 <button type="sumbit" class="btn btn-primary">Valider Evaluation</button>
                                        <button type="reset" class="btn  btn-danger">Annuler Tout</button>
                                            </td>
                                        </tr>
                                    </tbody>                                    
                                  </table>
                              </form>

 #dans Mon controller lorsque j'appele la function qui me permet d'eneregistre les notes des eleves pour cette evaluation#

public function save(Request $request)

{

    $em = $this->getDoctrine()->getManager();
    $request = $this->get('request');

       if($request->getMethod() === 'POST')
       {
        var_dump($_POST['note']);
         $evaluation = $this->getDoctrine()->getRepository('CollegeBundle:Evaluation')->find($_POST['idev']);               
              foreach ($_POST['note'] as $key => $value) {                   
                $eleve = new \Scolarite\CollegeBundle\Entity\Eleve;
                      $eleve = $this->getDoctrine()->getRepository('CollegeBundle:Eleve')->find($key);   
                        var_dump($eleve);                  
                      if(!$eleve){
                         throw $this->createNotFoundException('l\'eleve avec lid '.$key.' est introuvable introuvale');
                      }
                      else{
                         $notes = new NoteEvaluation();
                          $notes->setEvaluation($evaluation);
                          $notes->setEleve($eleve);
                          $notes->setNote($value);
                          $em->persist($notes);

                      }          
            }
             $em->flush();

       }

}

Ce que je veux

Ce que je veux c'est lorsque je parcour le tableau de note[ ], pour chaque ID correspondant a un eleve je récupere l'objet eleve grace a la fonction FIND() du repository et le passer a l'instance note() grace a la fonction setEleve() afin de pouvoir enregistre la note de cette eleve pour cette evaluation.

Ce que j'obtiens

j'obtien une erreur qui me dis l'eleve avec cette id n'existe pas

l'eleve avec l'id 12 est introuvable introuvale.
Or cette eleve avec cette ID existe belle et bien dans ma base

je ne vois pas exactement le probleme. Je vous serai très reconnaissant de vouloir m'aider

Aucune réponse