Один пользователь может иметь только 1 элемент или ни одного. (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, я бы хотел научиться строить отношения с 1 по 1..0.
отредактировано с реальной проблемой. изменения выделены жирным шрифтом.