小编典典

如何使用Symfony和Doctrine查询生成器执行联接查询

sql

我有两个通过1:1关系连接的实体,例如:MyEntity.idRelatedEntity
我想创建一个Doctrine查询,在其中我可以MyEntity根据中某个列的值检索数据RelatedEntity。像这样的东西(当然不起作用):

$entity = $em
    ->getRepository('MyBundle:RelatedEntity')
    ->createQueryBuilder('e')
    ->leftJoin('MyBundle:RelatedEntity', 'r')
    ->where('r.foo = 1')
    ->getQuery()
    ->getResult();

任何帮助将非常感激 :)


阅读 195

收藏
2021-04-07

共1个答案

小编典典

$entity = $em
    ->getRepository('MyBundle:MyEntity')
    ->createQueryBuilder('e')
    ->join('e.idRelatedEntity', 'r')
    ->where('r.foo = 1')
    ->getQuery()
    ->getResult();

左连接在这里也没有意义(因为where子句将使它像内部连接一样工作)

2021-04-07