Left Join in query builder提供了意外的数组

时间:2016-05-26 14:49:25

标签: left-join symfony query-builder

有两个实体Sacperson和Docs无关系。如果有的话,我想得到所有的Sacpersons和相关文档。实体有两个共同的领域:人与行为。 并非所有Sacpersons都有Docs。即使他们没有文档,我也需要所有的Sacpersons。如果他们有一个或多个文档我想要所有的文档。 这是我的问题:

$qb = $this->createQueryBuilder('sap')
->select('sap', 'doc')
->leftjoin('AppBundle:Doc', 'doc', 'WITH', 'sap.person=doc.person AND sap.act=doc.act')
->andWhere('sap.act = :sac_id')
->setParameter('sac_id', $sac_id)
return $qb->getQuery()->getResult();

它给了我所有的Sacpersons和相关文档但是数组看起来像这样:

array:27 [▼
  0 => Sacperson {#678 ▶}
  1 => null
  2 => Sacperson {#920 ▶}
  3 => Doc {#923 ▶}
  4 => Doc {#909 ▶}
  5 => Sacperson {#942 ▶}
  6 => null
   etc.

如何获得一个数组,其中每一行都是Sacperson和Doc的对象,而不是Sacpersons或Docs的行? 我一直在调查所有相关问题,根据发现的信息,我的查询应该是好的。

0 个答案:

没有答案