1

我正在使用 symfony 2.0.10 来构建一个站点,并且在我的控制器中我正在使用以下代码查询一个数据库表:

$query = $this->getDoctrine()->getRepository('MyBundle:MyTable')->createQueryBuilder('x')->getQuery();

$data = $query->getResult();

我会得到在数组中索引的结果,而不是按序号(0 到 N),而是按指定的字段。我看到我可以在 CreateQuery 方法中指定一个INDEX BY来执行此操作,但是如何使用查询生成器执行此操作?在这个问题中给出了答复,但用户没有使用存储库。

编辑 1

$query = $this->getDoctrine()->getEntityManager()->createQueryBuilder()->select('x')->from('MyBundle:MyTable', 'x', 'x.myIndexField')->getQuery();
4

1 回答 1

1

我还没有尝试过,但我确定该方法join具有签名:

public function join($join, $alias, $conditionType = null, $condition = null, $indexBy = null)

最后一个参数是$indexBy,所以我想这就是你要找的;)

于 2012-02-09T22:40:16.410 回答