我正在使用Symfony 2,我有这个查询,我想获得所有用户的所有联系人姓名:
$results = $es->createQueryBuilder()
->select('m.id, d.contactName')
->from('AppBundle:Profile', 'm')
->leftJoin('AppBundle:Contacts', 'd','with','d.profileid = m.id')
->groupBy('m.id')
->getQuery()
->getResult();
问题是,当我想显示每个用户的联系人姓名时,我只得到一个名字。我可以在每个用户上使用for循环,但我现在不能使用它。我希望能够显示所有名称而不循环
我在这里错过了什么?
因此,似乎Profile
和Contacts
与某种关系有关,但你仍然使用profileid
来强制执行这种关系 - 这完全是过时的。
至于返回的单个结果,我认为你以错误的方式使用groupBy
,但是如果没有看到实体,我无法确定。
无论如何,在这种情况下,我肯定会为getArrayResult()
函数(而不是getResult()
),它将返回,好吧,数组。尝试删除groupBy
,看看你得到了什么。
一旦您使用实体更新问题,我可以扩展我的答案。