原则 2.1 - 日期时间列缺省值
2022-08-30 10:37:58
有人可以告诉我如何在DateTime列上添加默认值吗?我不能这样做:
protected $registration_date = date("Y-m-d H:i:s", time());
那么我该如何处理呢?
有人可以告诉我如何在DateTime列上添加默认值吗?我不能这样做:
protected $registration_date = date("Y-m-d H:i:s", time());
那么我该如何处理呢?
对于默认值CURRENT_TIMESTAMP:
@ORM\Column(name="created_at", type="datetime", options={"default": "CURRENT_TIMESTAMP"})
或者对于较旧的Symfony版本:
@ORM\Column(name="created_at", type="datetime", options={"default": 0})
为我工作...但是,这仅适用于MySQL。
将属性映射为 DateTime 类型,然后使用新的 DateTime 实例在构造函数中设置值:
/**
* @Entity
* @Table(name="...")
*/
class MyEntity
{
/** @Column(type="datetime") */
protected $registration_date;
public function __construct()
{
$this->registration_date = new DateTime();
}
}
这工作,因为持久化类的构造函数不会在水合作用时调用。