Bonjour,
pourriez-vous m'indiquer quelles sont les raisons qui pourraient empêcher un $em->flush() de fonctionner ?
parce que ma méthode updateAction qui me permet donc de modifier les enregistrements via mon formulaire contient certains traitement. je sais qu'une partie fonctionne mais les modifications apportées ne sont pas transmises à la bdd
et je ne sais pas pourquoi...
voici le code :
j'ai par ailleurs rajouté dans mon entité Application un listener pour notifier des changements "NotifyPropertyChanged". J'ai fait des tests en supprimant ce listener, en supprimant une à une les actions à l'intérieur de updateAction mais rien ne marche, cela n'est pas transmis à la 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
49
50
51
52
53
54
55
56
57
58
59
60
61 /** * Edits an existing Application entity. * * @Route("/{id}", name="application_update") * @Method("PUT") * */ public function updateAction(Request $request, $id) { $em = $this->getDoctrine()->getManager(); $entity = $em->getRepository('BouBundle:Application')->find($id); $old_entity = clone $entity ; if (!$entity) { throw $this->createNotFoundException('Unable to find Application entity.'); } $deleteForm = $this->createDeleteForm($id); $editForm = $this->createEditForm($entity); $editForm->handleRequest($request); if ($editForm->isValid()) { $liens2 = $editForm['servLiens2']->getData(); foreach ($liens2 as $lien2){ $entity->addServLien($lien2); } //fin bloc ---- $liens3 = $editForm['servLiens3']->getData(); foreach ($liens3 as $lien3){ $entity->addServLien($lien3); } $liens4 = $editForm['servLiens4']->getData(); foreach ($liens4 as $lien4){ $entity->addServLien($lien4); } $liens5 = $editForm['servLiens5']->getData(); foreach ($liens5 as $lien5){ $entity->addServLien($lien5); } $appli = new \ReflectionClass($entity); $app = strtolower($appli->getShortName()); $Uid = (string)$this->getUser(); $histo = new HistoriqueController(); $histo->addHistorique($entity, $request,$old_entity, $app, $Uid, $em); $this->updateEntityBeforeFlush($entity); $em->flush(); return $this->redirect($this->generateUrl('application_edit', array('id' => $id))); } return array( 'entity' => $entity, 'edit_form' => $editForm->createView(), 'delete_form' => $deleteForm->createView(), ); }
pourriez-vous me dire où regarder svp ?
Partager