Bonjour,
Voilà quelques temps que je commence à buter sur un problème que je n'arrive pas à résoudre alors j'en appelle à la communauté de venir à mon secours !
Pour faire simple, j'ai un premier formulaire (étape 1/2) où l'utilisateur remplit de multiples champs. Après avoir cliqué sur Suivant, ce dernier est redirigé vers une seconde page (étape 2/2) qui lui affiche un récapitulatif de ses informations saisies. Il clique alors sur Valider pour confirmer les informations.
Plus précisément, sur la 1ère page, j'encapsule les informations de la manière suivante pour les mettre en session :
L'utilisateur est alors redirigé sur la seconde page de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $session = $this->get('session'); $session->set('commande', $commande);
Sur la page 2, je récupère les informations comme ceci sur la page twig:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 return $this->render('TestCommandeBundle:Commande:create_steptwo_container.html.twig');
Puis, j'affiche les différentes informations.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 {% set commande = app.session.get('commande') %}
Et à la fin de la page 2, un bouton valider qui me redirige sur l'action createTestAction :
Et là ce message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public function createTestAction() { $session = $this->get('session'); $commande = $session->get('commande'); $em = $this->getDoctrine()->getManager(); $em->persist($commande); $em->flush(); return $this->render('TestCommandeBundle:Commande:create_final_container.html.twig'); }
Ce qui est d'autant plus bizarre, c'est que lorsque je fais le persist et le flush directement sur la validation de la 1ere page (page précédante), tout fonctionne parfaitement ! Ce qui n'est pourtant pas le cas lorsque visiblement je récupère ma variable $commande depuis une session. Ce dysfonctionnement est-il du à l'utilisation d'une session ?A new entity was found through the relationship 'Test\CommandeBundle\Entity\Adherent#options' that was not configured to cascade persist operations for entity: Test\CommandeBundle\Entity\Options@00000000528e9f7c00000000f4b85ac3.
Pour info, si je n'ai pas mis de cascade = persist entre adhérent et options, c'est complètement voulu ! Les options sont des données statiques que je ne souhaitent pas persister mais uniquement récupérer en lecture seule depuis une liste déroulante sur le 1er écran.
Bref, là je suis complètement perdu, ça fait des heures et des heures que je tourne en rond ! Merci d'avance à quiconque aurait une idée sur le sujet![]()
Partager