2017-03-14 7 views
0

Je récupère un objet de la session que j'insère dans un formulaire. Mais je ne comprends pas pourquoi la relation de mon entité avec d'autres objets est réinitialisée lorsque je crée un nouveau formulaire.Symfony 2, createForm supprime les relations de l'entité

mon code:

$devis = $em->merge($session->get("devis")) ; 

dump($devis->getCentre()->getId()); // = 2 

$form = $this->createForm($devis_type, $devis, array(...)); 

dump($devis->getCentre()->getId()); // = null 

Puis, à mon avis, il y a pas garder la relation dans la liste de choix.

+0

avez-vous persisté 'devis'? – mickdev

+0

Non je ne veux pas, je veux remplir mon objet sur plusieurs pages avant l'enregistrement dans la base de données. Selon ce post, la fusion est similaire à persister dans ce contexte: http://stackoverflow.com/questions/15833639/symfony2-doctrine-merge – chikken001

Répondre

0

Enfin je devais faire:

$centre = $devis->getCentre(); 
$session->set("devis",$devis); 
$session->set("centre",$centre); 

Et après:

$devis = $em->merge($session->get("devis")) ; 
$centre = $em->merge($session->get("centre")) ; 
$devis->setCentre($centre); 

Et ma forme bien.