一个用户可能只有一个项目或没有。 (1-1..0关系)
我正在尝试用doctrine在symfony2中实现这一目标。
我已经完成了一对一的关系,这很简单。但是,如何指定当我想创建用户时,该项可以为null? (而不是插入新行,只留下id_item null)
这就是我所拥有的:
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的关系。