Avatar ·

如何在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层面。如何正确设置默认值,使其在代码和数据库中都生效?