Doctrine 2.1 - 日期时间列默认值

2022-01-03 00:00:00 php doctrine-orm

有人能告诉我如何在日期时间列上添加默认值吗?我不能这样做:

Could someone tell me how to add default value on datetime column? I can't do this like this:

protected $registration_date = date("Y-m-d H:i:s", time());

那又如何?

推荐答案

您将属性映射为 DateTime 类型,然后使用新的 DateTime 实例在构造函数中设置值:

You map your property as DateTime type then set the value in the constructor using a new DateTime instance:

/**
 * @Entity
 * @Table(name="...")
 */
class MyEntity
{
    /** @Column(type="datetime") */
    protected $registration_date;

    public function __construct()
    {
        $this->registration_date = new DateTime(); 
    }
}

这是因为持久化类的构造函数不会在水合时调用.

This works as the constructor of a persisted class is not called upon hydration.

相关文章