Doctrine orm 确定目标实体是否是条令筛选器中的外键

Doctrine orm 确定目标实体是否是条令筛选器中的外键,doctrine-orm,Doctrine Orm,条令将$targetEntity和$targetTableAlias传递给过滤器约束,如下所示: public function addFilterConstraint(ClassMetadata $targetEntity, $targetTableAlias) { ... 在生成查询时,所有实体似乎都会通过过滤器。有没有办法确定$targetEntity是否为外键?我想编写一个过滤器,用于“主要”实体(条令称之为“基本”表),但不用于其外键。您的问题不是很清楚,我不确定这是否能回答您的问题

条令将
$targetEntity
$targetTableAlias
传递给过滤器约束,如下所示:

public function addFilterConstraint(ClassMetadata $targetEntity, $targetTableAlias)
{ ...

在生成查询时,所有实体似乎都会通过过滤器。有没有办法确定
$targetEntity
是否为外键?我想编写一个过滤器,用于“主要”实体(条令称之为“基本”表),但不用于其外键。

您的问题不是很清楚,我不确定这是否能回答您的问题,但在中,您可以阅读以下内容:

在联接表继承或单表继承的情况下,始终会传递继承根的ClassMetadata。这对于避免在应用过滤器时破坏SQL的边缘情况是必要的

因此,我想说,
$targetEntity
始终是根实体(因此决不是外键)


如果这还不能回答您的问题,我想请您更具体地说明您到底想做什么或想了解什么。

谢谢您。据我所知,从实际的条令行为来看,所有实体都会通过过滤器,包括外键。我可以根据
$targetTableAlias
确定什么是什么,但我不太清楚它是如何生成的。