【问题标题】:doctrine manyToMany Query on Inverse Side反向多对多查询
【发布时间】:2014-03-28 05:50:34
【问题描述】:
我有 2 个具有多对多关系的实体。它们在两边都正确映射。
当我使用拥有方的实体查询反面时,出现以下错误:
ContextErrorException:注意:未定义索引:/var/www/symfony/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php 第 1528 行中的 joinColumns
我正在使用“内置”学说 findBy 方法,在这种情况下:"findByInverseSide($InverseSideEntity)"
【问题讨论】:
标签:
doctrine-orm
many-to-many
【解决方案1】:
我通过在表的 InverseSide 上使用 Left Join 创建一个 DQL 查询来解决这个问题:
前:
...
$qb = $this->createQueryBuilder('q');
$qb->leftJoin('q.inverseSide', 'i')
->where('i.id = :inverseSide_id')
->setParameter('inverseSide_id', $inverseSide_id);
...