Symfony 学说继承映射
我有车辆类和人员类。我有可以分配给个人或车辆的项目。我研究了继承映射,并将我的赋值表可视化为将使用继承映射的赋值表,但我不确定我是否正确。我希望我的作业表如下所示:Symfony 学说继承映射,symfony,inheritance,doctrine-orm,Symfony,Inheritance,Doctrine Orm,我有车辆类和人员类。我有可以分配给个人或车辆的项目。我研究了继承映射,并将我的赋值表可视化为将使用继承映射的赋值表,但我不确定我是否正确。我希望我的作业表如下所示: ID | item_id | type (vehicle/person) | entityId (the ID of the vehicle or person) ____ |____________|________________________|___________________________________
ID | item_id | type (vehicle/person) | entityId (the ID of the vehicle or person)
____ |____________|________________________|_____________________________________________
1 | 1 | person | 1
2 | 2 | vehicle | 1
有人能解释一下要使用的正确映射吗?也许是一个例子吗?继承映射适用于(例如)您有一个地址,可以是个人地址,也可以是业务地址。您可以拥有一个从继承而来的条令超类
Address
,PersonAddress
和BusinessAddress
。这不是适合你情况的方法
正确的解决方案是将manytomy
(许多人有许多项目)从Person
关联到Item
,并将manytomy
(许多车辆有许多项目)从Vehicle
关联到Item
。如果您不想将一个和一个项目同时分配给一个人和一辆车,您必须将该逻辑应用到您的控制器中
可以将您的
项目
作为与人或车辆相关联的主要对象,并包括对象类型。这可以而且确实有效,但它确实使您的应用程序大大复杂化。我以这种方式为当前的项目建模,但我有充分的理由走这条路 如果有一个items
表,然后每个表再增加两个表,不是更有意义吗?例如人员项目
和车辆项目
?我认为对个人/车辆使用继承是没有意义的,除非它们共享许多相同的公共属性或在逻辑上相似