我有这样的场景:
学说OneToOne关系 - 唯一约束
实体MealListDay是有一天,其中有六餐(实体膳食)。现在我使用OneToOne关系。但有问题,因为更多的日子不能有相同的实体餐饮 - 错误:独特的约束。我知道,实体Meal在OneToOne关系中必须是唯一的,但有没有解决方案只使用这两个表?
有什么想法?谢谢。
实体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;
实体餐:
/**
* @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;