Индекс по в построителе запросов - PullRequest
1 голос
/ 10 февраля 2012

Я использую Symfony 2.0.10 для создания сайта, и в моем контроллере я запрашиваю таблицу базы данных, используя этот код:

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

$data = $query->getResult();

Я бы получил результаты, проиндексированные в массиве, а непоследовательные числа (от 0 до N), но вместо указанного поля.Я видел, что могу сделать это, указав INDEX BY в методе CreateQuery, но как я могу это сделать с помощью построителя запросов?На этот вопрос дается ответ, но пользователь не использует репозиторий.

РЕДАКТИРОВАТЬ 1

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

1 Ответ

1 голос
/ 10 февраля 2012

Я не пробовал это, но я уверен, что метод join имеет подпись:

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

Последний параметр $indexBy, так что я думаю, это то, что вы ищете;)

...