我有两种不同的对象:骑和位置。
Ride 的来源和目的地是位置对象。
位置未指回 Ride 。
这意味着我在学说中有多对一的单向关系。
如何制作原则以确保我的数据库中没有任何重复的位置对象?
例如: 如果我从明尼苏达州明尼阿波利斯到明尼苏达州曼凯托创建一个 Ride 并坚持下去,我现在已经在我的数据库中存储了一个 Ride 和两个 Location 对象
既然这些都是坚持的,我就会从明尼苏达州的Mankato到明尼苏达州的New Ulm创建另一个 Ride 并坚持下去。
Doctrine重复了位置明尼苏达州Mankato。
doctrine是否具有此功能,或者我有责任检查是否创建了重复的对象?
答案 0 :(得分:2)
您可以对位置名称(可能是州名+城市名称)设置唯一约束吗?
您有责任查看该位置是否已存在。如果是这样,请获取它并将其提供给您的Ride对象。
class Ride {
private $from;
private $to;
public function setFrom(Location $from) {$this->from = $from;}
public function setTo(Location $to) {$this->to = $to;}
}