2013-03-29 2 views
1

양식에 endDate에 대한 데이터가 입력되지 않은 경우 양식 필드 DateTime (이름이 endDate)을 양식 필드 DateTime (이름이 startDate + 24h)으로 설정하는 problem이있었습니다.양식을 설정하는 DateTime 데이터 2

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

하지만 난이 endDate가 + 일일를 수정할 때의 startDate도 수정 : 솔루션 (해답 덕분에)이이었다.

이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

답변

0

개체는 항상 PHP에서 참조로 전달되며 \ DateTime 인스턴스도 인스턴스에 전달됩니다. 이 문제를 해결하려면 동일한 참조를 전달하는 대신 객체를 복제하십시오.

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

감사합니다. 이것은 내가 찾고 있었던 것이다 : $ task-> setEndDate (clone $ form-> get ('startDate') -> getData()); – ChrisS

+0

맞습니다. 클론은 괄호가 없어야합니다. – Gerry

관련 문제