On May 7, 3:31 pm, Christophe COEVOET <s...@notk.org> wrote: > Le 07/05/2011 21:25, Victor E. a crit : > > > > > > > > > On May 7, 11:31 am, Donald Tyler<chekot...@gmail.com> wrote: > >> You shouldn't be persisting the Form itself, you should persist an Entity. > > >> You need to bind the Form to the request, and pass it the Entity that you > >> want the Form values to be applied to. Read here for step by step > >> instructions: > > >>http://symfony.com/doc/current/book/forms.html > > Thanks a lot Donald. My mistake was that since $topicform is validated > > through the isValid() method, I thought that form contained data which > > I could persist directly. > > > I have since changed the "if ($topicform->isValid())" method to: > > > if ($topicform->isValid()) { > > > $topic = new Topic(); > > $arrayvar = $request->get('arraykey'); > > > $topicgetvar = $arrayvar['Topic']; > > > $topic->setTopic($topicgetvar); > > > $dm = $this->get('doctrine.odm.mongodb.document_manager'); > > $dm->persist($topic); > > $dm->flush(); > > > return > > $this->redirect($this->generateUrl('_admin_secured_home')); > > } > > > Everything seems to be working correctly now. > > What you should be persisting is $form->getData if you are using the > document as domain object of the form. You should not redo the job by > setting the parameters yourself as it basically means that you are > handling the form by hand. > > -- > Christophe | Stof
Thanks, this makes the code much cleaner. It is now: if ($topicform->isValid()) { $topic = $topicform->getData(); $dm = $this- >get('doctrine.odm.mongodb.document_manager'); $dm->persist($topic); $dm->flush(); return $this->redirect($this- >generateUrl('_admin_secured_home')); } -- If you want to report a vulnerability issue on symfony, please send it to security at symfony-project.com You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to symfony-users@googlegroups.com To unsubscribe from this group, send email to symfony-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en