[Symfony2] ma session me récupère que l'id de l'entité !!

H_iChaM Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
miramaze Messages postés 1429 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour le geeks,
j'ai besoin d'un coup de main, comme le titre l'indique j'ai un problème avec ma session;
alors j'ai deux formulaires, je veux que l'utilisateur lorsque il saisis ses données, mon contrôleur récupère ses données et les enregistré dans l'entité personnel;
j'aurais aprés l'entité personnel que je veux l'envoyer par session pour l'envoyer au deuxiéme formulaires;

pour enregistrer l'entité dans la session, je fait comme ça :

       
class recrutementController extends Controller
.....
        $personnel = new Personnel();
....
 $em =  $this->getDoctrine()->getManager();
        $personnel =  $em->merge($personnel);

            $session  = $this->get("session");

            $session->set('personnel', $personnel);
            return $this->redirect($this->generateUrl('grh_admin_recrutement_form_administratif'));


et pour récupérer la session j'ai mon code comme ça

  
class recrutementController extends Controller
.....
      $em =  $this->getDoctrine()->getManager();

        $session  = $this->get("session");

          $personnel =  $session->get("personnel");     
        $personnel =  $em->merge($personnel);
...
....
      $repository = $em->getRepository('USMBAUserBundle:Personnel');      
            $em = $this->getDoctrine()->getManager();
            $em->persist($personnel);
            $em->flush();


mais le problème c'est que lorsque je enregistre l'entité dans la base de donnée, il enregistre que que l'id et les données de deuxième formulaire, ça veux dire que la session me sert à récupérer que le clé primaire !!

1 réponse

miramaze Messages postés 1429 Date d'inscription   Statut Contributeur Dernière intervention   92
 
Hello,
si toute les données de ton entité sont persistés avec ton premier formulaire, alors il faut simplement la récupérer de la base de donnée, l'afficher dans le deuxième formulaire et persister le tout, aucune utilité d'uiliser la session à moins que je n'ai pas compris le sujet.

Un détail en passant, mais le nom de ta classe n'est pas conforme, elle doit commencer par une majuscule : https://symfony.com/fr/doc/current/contributing/code/standards.html
0