我有一个新的 Symfony 7 应用程序,支持用户帐户。基本设置非常简单:
symfony new mimesia --version="7.1.*" --webapp
php bin/console make:user
应用程序必须与现有数据库通信,该数据库与 Symfony 使用的方案大部分兼容。不过现有数据的验证列叫
verified
,而不是is_verified
,也可以是NULL
。
解决这个差异应该很容易,所以我只是扩展了
Entity/User
中的 Doctrine 注释,如下所示:
#[ORM\Column(name: 'verified', type: 'boolean', nullable: true)]
private bool $isVerified = false;
当我尝试运行该应用程序时,它遇到服务器错误:
无法将 null 分配给 bool 类型的属性
App\Entity\User::$isVerified
这对我来说没有意义,因为
nullable
标志应该已经解决了这个问题。这是库中的错误,还是我遗漏了什么?不管怎样,我们该如何解决这个问题?
该属性仅设置为布尔值。要使其也接受 null,需要通过在 type 前添加一个问号使其可以为 null。
#[ORM\Column(name: 'verified', type: 'boolean', nullable: true)]
private ?bool $isVerified = false;