bla*_*lah 6 php datetime symfony doctrine-orm
我尝试用modify函数修改对象的DateTime字段
$em = $this->getDoctrine()->getManager();
$end = $session->getEndDate();
$session->setEndDate($end->modify('+10 seconds'));
$em->persist($session);
$em->flush();
Run Code Online (Sandbox Code Playgroud)
这是Session类中$ endDate字段的setter:
/**
* @param \DateTime $endDate
*/
public function setEndDate(\DateTime $endDate)
{
$this->endDate = $endDate;
}
Run Code Online (Sandbox Code Playgroud)
为什么结束日期更改无法持久保存到数据库?
Doctrine不会将更改保存到现有的DateTime实例中(由于我认为PHP的等同性测试内部)
如果克隆对象然后将其重新设置,则应该可以使用。还是将其克隆到二传手中?
请参阅Doctrine2 ORM不会将更改保存到DateTime字段
你需要冲洗它:
$em->flush($session);
Run Code Online (Sandbox Code Playgroud)
持久性仅适用于尚未创建的实体.
更新:
该modify方法不返回任何内容,影响指定对象实例,因此您可以简单地尝试:
$end = $session->getEndDate();
$end->modify('+10 seconds');
$em->flush();
Run Code Online (Sandbox Code Playgroud)
希望这有帮助
| 归档时间: |
|
| 查看次数: |
1109 次 |
| 最近记录: |