2017-05-09 22 views
0

我们现在是否有办法在连接列中使用合并关系?Doctrine ORM,在JoinColumn中合并

例如一辆车有很多零件。汽车可以与自身有关系。我想制作演示车,这是指另一辆车(原车)。但我不想复制汽车的所有部分。所以我想加入使用Coalesce。 join part.car_id = coalesce(car.car_id, car.id)。因此,我们将使用coalesce首先检查汽车是否为car_id,指的是原车,如果是,则为其演示车,并使用原车的车号。如果不是,使用汽车的自己的ID。例如,当调用原车时。

如果这不可能使用注释。会以不同的方式成为可能吗?

回答

0

无法定义关于原则关联的条件。关联总是在具体实体和字段之间定义的。 它也不适用于关系数据库中的约束。

我认为你应该使用不同的设计来实现它。我建议引入新实体Model,并将parts与此实体关联,然后有Car,这也与Model关联。

+0

接受为答案,因为这是不可能的。建议的实施方案并没有真正做到这种情况所描述的棘手。但感谢您的评论。 –