我有一些需要更新DateTime属性的动作。我写了
public function foo()
{
$this->completionTime = $this->completionTime->add(new \DateInterval('P1W'));
}
对象中的属性completionTime
成功更新,但是教条看不到更改,也不保存。
当我更新其他属性时,doctrine会保存此属性,但completionTime不会再次保存。 另外我写$ this-> compleationTime = new \ DateTime('now')属性更新并保存正常。
有什么想法吗?
现在我有了这段代码,它有用,但是......
$time = $this->completionTime->getTimestamp() + 3600 * 24 * 7;
$this->completionTime = new \DateTime(date(DATE_ATOM, $time), new \DateTimeZone('Europe/Kiev'));
答案 0 :(得分:4)
在doctrine2文档中,日期通过引用(source)来检测。
$this->completionTime = clone $this->completionTime;
$this->completionTime->add(...)
以上代码段应该有效。