Bonjour à tous,
Je suis en train de développer un site internet et je rencontre un problème lors de la création de mon User (Table User, contenant un Id et un nom).
J'ai suivi le tuto qui a été déposé sur ce site (http://j-place.developpez.com/tutori...avec-symfony2/),
sauf que j'ai tenté de personnalisé ma vue.
J'ai donc créé le controller, l'entité, le builder et ma vue que j'ai personnalisée :
au lieu de :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <form action="" method="post" {{ form_enctype(form) }}> <div> <table> <tr> <td>{{ form_label(form.nom, 'Saisir son nom') }}</td> <td>{{ form_errors(form.nom) }}</td> <td>{{ form_widget(form.nom) }}</td>...
Du coup, je n'ai pas généré le champ caché id de mon User et lorsque je valide mon formulaire, mon User n'est pas inséré en base car dans le controller je fais un test pour savoir si ce champ est vide ou non.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <form action="" method="post" {{ form_enctype(form) }}> {{ form_widget(form) }} <input type="submit" /> </form>
Je souhaiterai savoir comment faire pour générer le champ caché d'identification de mon User ???
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
49
50
51
52
53 public function editerAction($id = null) { $message=''; $em = $this->container->get('doctrine.orm.entity_manager'); if (isset($id)) { // modification dun acteur existant : on recherche ses données $user= $em->find('MyAppFilmothequeBundle:User', $id); if (!$user) { $message='Aucun user trouvé'; } } else { // ajout dun nouveau user $user= new User(); } $form = $this->container->get('form.factory')->create(new UserForm()); $form->setData($user); $request = $this->container->get('request'); if ($request->getMethod() == 'POST') { $form->bindRequest($request); if ($form->isValid()) { $em->persist($user); $em->flush(); if (isset($id)) { $message='User modifié avec succès !'; } else { $message='User ajouté avec succès !'; } } } return $this->container->get('templating')->renderResponse( 'MyAppFilmothequeBundle:Acteur:editer.html.twig', array( 'form' => $form->createView(), 'message' => $message, ) ); }
Merci d'avance.
Partager