如何在Doctrine中为实体字段设置默认值?
大家好!我刚开始学习Symfony中的Doctrine ORM,在设置实体字段的默认值时遇到了问题。
我有一个`User`实体,希望`status`字段默认值为`'active'`。我尝试了以下方式:
```php
/**
* @ORM\Entity(repositoryClass=UserRepository::class)
*/
class User
{
/**
* @ORM\Column(type="string", length=20, options={"default": "active"})
*/
private $status;
}
```
但是当我创建新用户而不指定状态时:
```php
$user = new User();
$em->persist($user);
$em->flush();
```
`status`字段仍然是`null`,而不是`'active'`。我期望Doctrine在保存时自动填入默认值。
我阅读了文档,但上面说`options={"default": ...}`只在数据库层面生效,而不是在PHP层面。如何正确设置默认值,使其在代码和数据库中都生效?