Doctrine将$targetEntity
和$targetTableAlias
传递给过滤器约束,如下所示:
public function addFilterConstraint(ClassMetadata $targetEntity, $targetTableAlias)
{ ...
在构建查询时,似乎所有实体都会通过过滤器。有没有办法确定$targetEntity
是否是外键?我想编写一个适用于" primary"实体(Doctrine称之为" base"表)但不是外键。
答案 0 :(得分:1)
您的问题不是很明确,我不确定这是否会回答您的问题,但在the Doctrine 2 documentation chapter 30. Filters中您可以阅读以下内容:
在连接或单表继承的情况下,总是传递继承根的ClassMetadata。这对于避免在应用过滤器时会破坏SQL的边缘情况是必要的。
所以我会说$targetEntity
始终是根实体(所以永远不是外键)。
如果这不能解答您的问题,我想请您更具体地说明您想要做什么或想要了解什么。