一位用户可能只有 1 个项目或没有。(1-1..0 关系)
我正试图在 symfony2 中通过教义来实现这一点。
我已经完成了一对一的关系,这相当简单。但是我如何指定当我想创建一个用户时,该项目可以为空?(而不是插入新行,只保留 id_item 为空)
这就是我所拥有的:
user.orm.yml 文件
oneToOne:
userItem:
targetEntity: SOA\AXBundle\Entity\Items
cascade: ["remove", "persist"]
joinColumn:
name: id_item
referencedColumnName: id
nullable: true
当然,我创建了 ItemsTypeForm 类,并在我的 userstypeform 类中添加了类型:
// UsersTypeForm Class
->add('userItem', new \SOA\AXBundle\Form\ItemsTypeForm())
当我添加一个新用户时,一切都很好。用户和项目一样被插入。但是当我尝试添加一个没有项目的用户(用户项目字段为空白)时,我收到以下错误:
SQLSTATE [23000]:违反完整性约束:1048 列“名称”不能为空
它正在尝试插入具有空值的项目。
虽然我可以接受 1 对 1 的关系,但我想学习如何建立 1 对 1..0 的关系。