如果没有在表单中输入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。
解决此问题的最佳方法是什么?
答案 0 :(得分:0)
对象总是通过PHP引用传递,\ DateTime的实例也是如此。要解决此问题,请克隆对象,而不是传递相同的引用:
$task->setEndDate(clone $form->get('startDate')->getData());