将表单DateTime data2设置为form1 + 1天

时间:2013-03-29 13:37:09

标签: forms symfony entity symfony-2.2

如果没有在表单中输入endDate的数据,我有一个problem将Form Field DateTime(名为endDate)设置为Form Field DateTime(名为startDate + 24h) 解决方案(感谢答案)是:

 $em = $this->getDoctrine()->getManager();
            $task->setEndDate($form->get('startDate')->getData());
            $task->getEndDate()->modify('+1 day');
            $em->persist($task);
            $em->flush();

但是当我修改endDate + 1天时,也会修改startDate。

解决此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

对象总是通过PHP引用传递,\ DateTime的实例也是如此。要解决此问题,请克隆对象,而不是传递相同的引用:

$task->setEndDate(clone $form->get('startDate')->getData());