如何在Doctrine 2中设置默认值?
发布于 2010-08-01 03:41:21
数据库缺省值不受“可移植”支持。使用数据库默认值的惟一方法是通过columnDefinition
映射属性,在该属性中为字段映射到的列指定SQL
片段(包括DEFAULT
原因)。
您可以使用:
<?php
/**
* @Entity
*/
class myEntity {
/**
* @var string
*
* @Column(name="myColumn", type="string", length="50")
*/
private $myColumn = 'myDefaultValue';
...
}
PHP级别的默认值是首选的,因为这些值在新创建的和持久化的对象上也是正确可用的(Doctrine在持久化新对象以获取默认值后将不再返回数据库)。
发布于 2012-08-02 19:05:53
<?php
/**
* @Entity
*/
class myEntity {
/**
* @var string
*
* @ORM\Column(name="myColumn", type="integer", options={"default" : 0})
*/
private $myColumn;
...
}
请注意,这使用SQL DEFAULT
,它不支持某些字段,如BLOB
和TEXT
。
发布于 2011-03-07 23:43:19
在实体中设置一个构造函数,并在其中设置默认值。
https://stackoverflow.com/questions/3376881
复制相似问题