Doctrine 2.1 - datetime列默认值

28 浏览
0 Comments

Doctrine 2.1 - datetime列默认值

有人知道如何给 DateTime 列添加默认值吗?我不能像这样做:

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

那我该怎么处理呢?

admin 更改状态以发布 2023年5月22日
0
0 Comments

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

/**
 * @Entity
 * @Table(name="...")
 */
class MyEntity
{
    /** @Column(type="datetime") */
    protected $registration_date;
    public function __construct()
    {
        $this->registration_date = new DateTime(); 
    }
}

这样做是因为一个持久化类的构造函数不会在水合时被调用。

0
0 Comments

对于默认值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。

0