学说的继承,基类和两个子类型

时间:2018-10-31 12:20:23

标签: symfony inheritance doctrine

我需要处理3个覆盖同一表“用户”的实体:

  • User:涵盖了用户类,并涉及某些身份验证/验证服务。

  • Driver:扩展User,它与其他一些表有关。还涉及不同的服务。

  • Passenger:扩展了User,它与另一个表有关。还涉及不同的服务。

users表上的所有记录均为“用户”。带有is_driver=0的记录是乘客,带有is_driver=1的记录是驾驶员。

我知道我可以为users表做一个映射的超类,而鉴别符将是is_driver。因此,旅客实体和驾驶员实体将对此进行扩展。我看到的问题是我无法创建扩展此映射超类的User实体,因为它没有区分符,任何记录都是User。

有一个现有的数据库,并且我正在迁移项目,其中有一个列is_driver,用于区分用户是驾驶员还是乘客(小整数0或1)。现在我想拥有3个实体。

  • User:通用(任意行)
  • Driver:带有is_driver = 1的行
  • Passenger:带有is_driver = 0的行

理想情况下,所有内容都将以某种方式在ORM中附加到users表,并且驾驶员和乘客还需要分别与不同的实体关联。

0 个答案:

没有答案