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
确定什么是什么,但我不太清楚它是如何生成的。