更新:迁移问题here:更多“通用”且易于理解。
我的实体有一个字段,映射到一个Doctrine Date
类型。
/** @ORM\Column(type="date") */
protected $from;
Doctrine已正确创建Mysql列为Date
(没有时间),如2012-12-18
。
我修改了setter,以创建DateTime
对象:
public function setFrom($from){
$this->from = new \DateTime($from);
}
我使用EntityManager->merge()
更新实体(如果已修改),但它始终更新Date
字段,因为存储的日期始终与setter中创建的DateTime
不同({{1 }})。
如果日期没有改变,有办法避免更新吗?
答案 0 :(得分:1)
您可以检查设置器中的日期是否已更改,以防止创建新的DateTime对象:
public function setFrom($from){
if (!$this->from || $form != $this->from->format('your date format')) {
$this->from = new \DateTime($from);
}
}