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

[Fermé]
Signaler
Messages postés
15
Date d'inscription
lundi 22 juillet 2013
Statut
Membre
Dernière intervention
18 juin 2015
-
Messages postés
1428
Date d'inscription
mercredi 29 juillet 2009
Statut
Contributeur
Dernière intervention
24 janvier 2019
-
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

Messages postés
1428
Date d'inscription
mercredi 29 juillet 2009
Statut
Contributeur
Dernière intervention
24 janvier 2019
89
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