如何使用编辑表单更新记录?

问题描述:

我有这段代码,必须更新数据库中的对象与表单中的数据,但它说我必须使用setId(),而不是直接changind属性“ID”。但我需要从以前的窗体隐藏字段中获得“ID”。我怎样才能得到这个作品?如何使用编辑表单更新记录?

 $rPhone = new RejectedPhone(); 
     $em = $this->getDoctrine()->getEntityManager(); 
     $repository = $em->getRepository("TelnetSmsBundle:RejectedPhone"); 

     $addRPhoneForm = $this->createFormBuilder($rPhone) 
       ->add('id', 'hidden') 
       ->add('phone', 'text', array("label" => "Номер телефона (обязательно через 7-ку!):")) 
       ->add('description', 'textarea', array("label" => "Описание:")) 
       ->getForm(); 

     $addRPhoneForm->bindRequest($request); 

     var_dump($rPhone); exit(); 

     $em->flush(); 
+0

好吧,我加SETID()到我的实体类,错误dissapear,但它仍然没有升级记录 – Neka 2012-02-16 08:54:15

我认为你需要这样的:

$addRPhoneForm ->setData($rPhone); 

我想你忘记了persist方法:

$em->persist($rPhone);