
如何在Doctrine 2中设置默认值?
数据库默认值不是“可移植的”支持的。使用数据库默认值的唯一方法是通过columnDefinition映射属性,您可以为该字段映射到的列指定SQL代码片段(DEFAULT原因包含)。
您可以使用:
<?php
/**
* @Entity
*/
class myEntity {
/**
* @var string
*
* @Column(name="myColumn", type="string", length="50")
*/
private $myColumn = 'myDefaultValue';
...
}
PHP级别的默认值是首选,因为这些值在新创建和保留的对象上也可以正常使用(在保留新对象以获取默认值后,Doctrine不会返回到数据库)。
<?php
/**
* @Entity
*/
class myEntity {
/**
* @var string
*
* @ORMColumn(name="myColumn", type="integer", options={"default" : 0})
*/
private $myColumn;
...
}
请注意,这使用SQL DEFAULT,这在某些字段(如BLOB和TEXT)中不受支持。
未经作者同意,本文严禁转载,违者必究!




近期评论