Symfony2 OneToOne null

时间:2012-10-05 09:32:41

标签: php symfony doctrine-orm

一个用户可能只有一个项目或没有。 (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的关系。

0 个答案:

没有答案