2
一個用戶可能只有1個項目或沒有項目。 (1-1..0的關係)與教條的嵌入式形式中的1到1..0關係
我正試圖在symfony2中使用教義來實現。
我已經完成了1對1的關係,它非常簡單。但我怎麼能指定主義,當我想創建一個用戶,該項目可以爲空? (而不是插入新行和剛剛離開id_item空)
這是我有:
// User Class
/**
*
* @ORM\OneToOne(targetEntity="Items", cascade={"persist"})
* @ORM\JoinColumn(name="id_item", referencedColumnName="id", nullable=true)
*
* @var SOA\AXBundle\Entity\Items $userItem
* @Assert\Type(type="SOA\AXBundle\Entity\Items")
*/
protected $userItem;
和當然,我創建ItemsTypeForm類,並在我的userstypeform類添加的類型:
// UsersTypeForm Class
->add('userItem', new \SOA\AXBundle\Form\ItemsTypeForm())
當我添加一個新用戶,一切順利。插入用戶以及項目。但是,當我嘗試添加地方有沒有項目的用戶(用戶項字段爲空),我收到以下錯誤:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'name' cannot be null
它試圖插入的項目,與空值。
雖然我可以生活在一對一的關係,我想學習如何使1到1..0的關係。
編輯出真正的問題。編輯是大膽的。
我認爲assert與它無關,除了joincolumn註釋中的空值之外,我沒有看到任何「有效的空值」。我編輯了我的問題,現在我的問題是當我嘗試創建沒有項目的新用戶時,它嘗試插入一個空白值的新項目。 – jonv1 2012-01-30 17:23:12
你有在表單的樹枝userItem.name? – 2012-02-01 10:24:22
是的。我必須去除它或類似的東西嗎? – jonv1 2012-02-01 19:20:14