Doctrine orm 如何将一个表字段链接到不同的表(使用条令的继承映射)

Doctrine orm 如何将一个表字段链接到不同的表(使用条令的继承映射),doctrine-orm,doctrine,multiple-inheritance,single-table-inheritance,Doctrine Orm,Doctrine,Multiple Inheritance,Single Table Inheritance,我有一个日志表,它有一个名为“source”的特殊字段,我想根据源链接到不同的表 使用本机sql,我将创建两个字段:source\u id和source\u type,然后自定义查询以连接到适当的表。我想知道是否有任何方法可以用教义来做到这一点 编辑: 似乎我可以使用继承映射来实现这个目的。然而,我遇到了另一个问题:假设我现在有两个字段:source和destination,它们映射到不同的对象。所以一个对象可以是源,也可以是目标,我不确定在这种情况下该怎么办 在这个示例中,看起来我可以创建一

我有一个日志表,它有一个名为“source”的特殊字段,我想根据源链接到不同的表

使用本机sql,我将创建两个字段:source\u id和source\u type,然后自定义查询以连接到适当的表。我想知道是否有任何方法可以用教义来做到这一点


编辑:

似乎我可以使用继承映射来实现这个目的。然而,我遇到了另一个问题:假设我现在有两个字段:source和destination,它们映射到不同的对象。所以一个对象可以是源,也可以是目标,我不确定在这种情况下该怎么办

在这个示例中,看起来我可以创建一个名为Sourceable的父类,然后让我的对象实体继承它,但现在由于这些实体可以是Sourceable或destinatible,并且PHP不允许多重继承,我不知道该怎么办


编辑2:

我发现了一个Ruby案例,涵盖了这个问题:

类调整
来源是触发调整的来源。税务及 促销调整,这将是订单本身。航运 调整,这将是与 此订单的装运方式

可调整的是要调整的对象,即顺序

发起人是负责调整的对象。对于 促销调整,这将是一个 Spree::Promotion::Actions::CreateAdjustment对象。纳税 调整,一个Spree::TaxRate对象。对于装运调整,a Spree::ShippingMethod对象

在他们的情况下,顺序可以是源或可调的。显然,这个例子是用ruby和ActiveRecord编写的,但我想知道如何用Doctrine做同样的事情

class Adjustment < ActiveRecord::Base
    belongs_to :adjustable, polymorphic: true
    belongs_to :source, polymorphic: true
    belongs_to :originator, polymorphic: true