Bonjour,
J'ai un soucis avec un formulaire.
J'ai un objet pays qui est relié à à un ojet "non", un objet "classement" et un "objet initiale" avec la relation OneToMany.
Mon formulaire pour créer mon pays avec les sous-objets fonctionne avec ce code dans mon controleur.
Pas de soucis tout fonctionne bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 public function ajouter_paysAction() { $pays = new Pays(); $initiale = new PaysHistoriqueInitiale(); $nom = new PaysHistoriqueNom(); $nomclassement = new PaysHistoriqueNomClassement(); $pays->addInitiale($initiale); $pays->addNom($nom); $pays->addNomclassement($nomclassement); $initiale->setPays($pays); $nom->setPays($pays); $nomclassement->setPays($pays); $form = $this->createForm(new PaysType, $pays); $request = $this->get('request'); if( $request->getMethod() == 'POST' ) { $form->bind($request); if( $form->isValid() ) { $em = $this->getDoctrine()->getEntityManager(); $em->persist($pays); $em->flush($pays); return $this->redirect($this->generateUrl('geo_voir_pays', array('id_pays' => $pays->getId()))); }
Par contre, je n'arrive pas à faire des modification sur le pays.
J'ai le code suivant :
Le formulaire se charge très bien avec les champs pré-remplis, mais quand je valide, rien n'est pris un compte : la fiche du pays est afichée mais les modifications ne sont pas passées. Rien en BDD.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 public function editer_paysAction($id_pays) { $pays = $this->getDoctrine() ->getManager() ->getRepository('OpengenGeoBundle:Pays') ->find($id_pays); $form = $this->createForm(new PaysType, $pays); $request = $this->get('request'); if( $request->getMethod() == 'POST' ) { $form->bind($request); if( $form->isValid() ) { $em = $this->getDoctrine()->getEntityManager(); $em->persist($pays); $em->flush($pays); return $this->redirect($this->generateUrl('geo_voir_pays', array('id_pays' => $pays->getId()))); } } return $this->render('OpengenGeoBundle:Geo:ajouter_pays.html.twig', array( 'form' => $form->createView(), ) ); }
Si je fais un
Je vois que les modifications n'ont pas été apportées à l'objet....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if( $form->isValid() ) { var_dump($pays); die();
Il ya un truc qui m'échappe là :-(
Si quelqu'un voit le hic je prends :-)
Partager