学说将 $targetEntity
和 $targetTableAlias
传递给过滤器约束,例如:
public function addFilterConstraint(ClassMetadata $targetEntity, $targetTableAlias)
{ ...
构建查询时,所有实体似乎都通过过滤器。有什么方法可以确定$targetEntity
是否是外键?我想编写一个在"主要"实体上有效的过滤器(学说称为"基本"表),而不是其外键。
您的问题不是很清楚,我不确定这是否会回答您的问题,而是在"学说2"文档第2章 30中。过滤器您可以阅读以下内容:
在加入或单个表继承的情况下,您始终通过继承根的classMetadata。这是避免使用过滤器时会破坏SQL的边缘情况的必要条件。
所以我会说 $targetEntity
始终是根实体(所以从来没有一个外键)。
如果这没有回答您的问题,我想让您更具体地说明您想做什么或想找出什么。