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

Fermé
H_iChaM Messages postés 15 Date d'inscription lundi 22 juillet 2013 Statut Membre Dernière intervention 18 juin 2015 - 18 juin 2015 à 16:22
miramaze Messages postés 1429 Date d'inscription mercredi 29 juillet 2009 Statut Contributeur Dernière intervention 1 mai 2022 - 26 juin 2015 à 22:50
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 mercredi 29 juillet 2009 Statut Contributeur Dernière intervention 1 mai 2022 92
26 juin 2015 à 22:50
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