我的问题是,我在理解Doctrine的类继承中的DiscriminatorColumn和DiscriminatorMap方面遇到了困难。
我有一个产品实体,被认为是父类/表。
有几个子实体继承了产品实体。(models, parts, and options)
我觉得我应该能够使用主键来链接两个表...但是如何在DiscriminatorColumn中实现呢?
这里是我想要发生的事情的一般想法...
从数据库中获取所有模型对象,同时继承产品父实体。
或者...在继承产品父实体的同时从数据库中获取所有部件对象
我有一个产品实体,被认为是父类/表。
有几个子实体继承了产品实体。(models, parts, and options)
我觉得我应该能够使用主键来链接两个表...但是如何在DiscriminatorColumn中实现呢?
这里是我想要发生的事情的一般想法...
从数据库中获取所有模型对象,同时继承产品父实体。
SELECT object
FROM parts_object parts
LEFT JOIN products_object po
ON parts.product_fk = po.product_id
或者...在继承产品父实体的同时从数据库中获取所有部件对象
SELECT object
FROM parts_object parts
LEFT JOIN products_object po
ON parts.product_fk = po.product_id
理想情况下,我希望使用Doctrine而不是一些自定义SQL完成此操作。
我是否需要为父表设置一个“类型”列,以便每行定义它是零件、模型还是选项?