У меня есть такой сценарий:
доктрина OneToOne отношения - уникальные ограничения
Субъект, MealListDay один день, который имеет шесть блюд (объектные Meal). Теперь я использую отношения OneToOne. Но есть проблема, потому что больше дней не может иметь одну и ту же сущность. Meal - error: unique constraints. Я знаю, что сущность Meal должна быть уникальной в отношениях OneToOne, но есть ли решение с использованием только этих двух таблиц?
Любая идея? Благодарю.
Entity MealListDay
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
* @var integer
*/
protected $id;
/**
* @ORM\OneToOne(targetEntity="Meal", cascade={"persist"})
* @ORM\JoinColumn(onDelete="SET NULL")
* @var Meal
*/
protected $elevenses;
/**
* @ORM\OneToOne(targetEntity="Meal", cascade={"persist"})
* @ORM\JoinColumn(onDelete="SET NULL")
* @var Meal
*/
protected $soup;
/**
* @ORM\OneToOne(targetEntity="Meal", cascade={"persist"})
* @ORM\JoinColumn(onDelete="SET NULL")
* @var Meal
*/
protected $mainMeal;
/**
* @ORM\OneToOne(targetEntity="Meal", cascade={"persist"})
* @ORM\JoinColumn(onDelete="SET NULL")
* @var Meal
*/
protected $sideDish;
/**
* @ORM\OneToOne(targetEntity="Meal", cascade={"persist"})
* @ORM\JoinColumn(onDelete="SET NULL")
* @var Meal
*/
protected $drink;
/**
* @ORM\OneToOne(targetEntity="Meal", cascade={"persist"})
* @ORM\JoinColumn(onDelete="SET NULL")
* @var Meal
*/
protected $nosh;
Entity блюдо:
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
* @var integer
*/
private $id;
/**
* @ORM\Column(type="string", length=150)
*/
protected $name;
/**
* @ORM\Column(type="string", length=20)
*/
protected $type;
/**
* @ORM\Column(type="simple_array", nullable=true)
*/
protected $allergens;