Doctrine2 подзапрос - PullRequest
       5

Doctrine2 подзапрос

1 голос
/ 24 октября 2011

Я пытаюсь написать подзапрос в doctrine2, чтобы отсортировать таблицу, упорядоченную по столбцу даты другой таблицы.

(допустим, я запрашиваю таблицу A, в которой есть столбец id, а B имеет a_id и дату в подзапросе b.a_id = a.id)

I 'используя построитель запросов и метод addSelect, но поскольку я не могу использовать LIMIT в своем запросе, я получаю эту ошибку:

SQLSTATE [21000]: Нарушение мощности: 1242 Подзапрос возвращает более 1 строки

Эта ошибка верна, но как я могу ограничить этот запрос до 1 строки, если LIMIT не разрешен в doctrine2 и когда я пытаюсь сделать это с помощью querybuilder (я имею в виду подзапрос) и я 'Я использую setMaxResults, а затем getDQl он все еще не работает.

->addSelect('(SELECT b.date FROM B b WHERE b.conversation = a.id ORDER BY b.date DESC)')

Есть ли какое-либо решение для моей проблемы?

Спасибо

1 Ответ

1 голос
/ 18 ноября 2011

Заставить запрос возвращать ровно одну строку.Попробуйте SELECT MAX(b.date) FROM B b WHERE b.conversation = a.id)

...