在我的应用程序中,有一个Case
实体,其中包含Operator
个实体的集合。
执行此请求时:
$this->createQueryBuilder('c')
->leftJoin('c.operators', 'od') // d -> one-to-many -> operator
->setMaxResults(100)
->getQuery()
->getResult()
;
我只得到71个结果(假设Cases
没有任何Operator
)。
当没有选择时,保湿到阵列效果很好:
$this->createQueryBuilder('c')
->select('c, od') // notice select here which yields to 71 results (without it I get 100 results)
->leftJoin('c.operators', 'od')
->setMaxResults(100)
->getQuery()
->getArrayResult()
;
事情变得非常混乱,因为使用->getSQL()
获得的真实SQL在两种情况下都会返回100。
任何人都可以提供帮助吗?
更新
实际上我在结果集中有100个结果。这些结果Cases
与Operators
相结合。当Dossier
多次输入结果集时,结果集中的Operators
有多个Dossier
。 Doctrine会自动将这100行的结果集缩小为71个唯一Cases
的数组。