【发布时间】:2019-11-28 08:47:54
【问题描述】:
我的 Symfony4 项目有一个奇怪的错误。 我的关系之一是具有可为空的真值的 ManyToOne,如下所示:
class UserComic
{
...
/**
* @ORM\Id
* @ORM\ManyToOne(targetEntity="Series")
* @ORM\JoinColumn(name="id_series", referencedColumnName="id", nullable=true)
*/
private $series;
...
}
然后我尝试创建一个新的 UserComic 并将 $series 属性设置为 NULL,但我收到此错误:
“App\Entity\UserComic 类型的实体缺少为 字段“系列”。此实体的标识符生成策略 需要在 EntityManager#persist() 之前填充 ID 字段 叫做。如果你想要自动生成的标识符,而不是你 需要相应地调整元数据映射。”
由于该字段未设置为可为空。有什么建议吗?
【问题讨论】:
-
PK 不能为或包含 null。因此
nullable和@ORM\Id是无效的。
标签: symfony doctrine-orm