Doctrine 中的默认值

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

如何在 Doctrine 2 中设置默认值?

How do I set a default value in Doctrine 2?

推荐答案

不可移植"支持数据库默认值.使用数据库默认值的唯一方法是通过 columnDefinition 映射属性,您可以在其中指定列的 SQL 片段(DEFAULT 原因包括)字段被映射到.

Database default values are not "portably" supported. The only way to use database default values is through the columnDefinition mapping attribute where you specify the SQL snippet (DEFAULT cause inclusive) for the column the field is mapped to.

您可以使用:

<?php
/**
 * @Entity
 */
class myEntity {
    /**
     * @var string
     *
     * @Column(name="myColumn", type="string", length="50")
     */
    private $myColumn = 'myDefaultValue';
    ...
}

首选 PHP 级别的默认值,因为它们也可以在新创建和持久化的对象上正确可用(在持久化新对象以获取默认值后,Doctrine 不会返回到数据库).

PHP-level default values are preferred as these are also properly available on newly created and persisted objects (Doctrine will not go back to the database after persisting a new object to get the default values).

相关文章