【发布时间】:2015-09-02 15:49:27
【问题描述】:
我正在使用 QueryBuilder 在存储库中编写方法。我想针对实体具有但不需要加入实体的关联制作where 声明。
通常,如果我使用常规 sql,我会执行类似
的操作select * from entity where entity.assocId=5
但是对于学说,我没有关联 ID 的字段,因为它被映射为该列上的实际实体。
所以我认为我需要这样做来实现同样的目标:
$qb->innerJoin(‘e.associatedEntity', ‘ae', Query\Expr\Join::ON);
$qb->andWhere($qb->expr()->eq(‘ae.id’, $id));
这意味着我需要对我想要过滤的每个实体执行join,即使它只是看起来昂贵得多的操作的 ID。
那么有没有办法不用加入实体就可以通过关联列中的值进行过滤呢?
【问题讨论】:
标签: doctrine-orm doctrine associations query-builder