добавить DatiTime в DateTime, доктрина 2 не видит изменений - PullRequest
0 голосов
/ 23 января 2012

У меня есть некоторые действия, где нужно обновить свойство DateTime.Я написал

public function foo()
{
     $this->completionTime = $this->completionTime->add(new \DateInterval('P1W'));
}

свойство completionTime успешно обновлено в объекте, но доктрина не видит изменений и не сохраняет это.

Когда я обновляю некоторыедругое свойство, доктрина сохранить это свойство, но завершениеВремя не сохранить снова.Также я пишу $ this- >compationTime = new \ DateTime ('now'), свойство обновлено и сохранено в обычном режиме.

Есть идеи?

Теперь у меня есть этот код, он работает, но ...

$time = $this->completionTime->getTimestamp() + 3600 * 24 * 7;
$this->completionTime = new \DateTime(date(DATE_ATOM, $time), new \DateTimeZone('Europe/Kiev'));

1 Ответ

4 голосов
/ 12 сентября 2012

В документации doctrine2 даты определяются по ссылке ( источник ).

$this->completionTime = clone $this->completionTime;
$this->completionTime->add(...)

Приведенный выше фрагмент кода должен работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...