2012-06-27 2 views
1

Мне действительно нужна помощь здесь, кто-нибудь знает, как преобразовать этот запрос SQL в запрос Doctrine2 с помощью createQueryBuilder?SQL-запрос в Doctrine2

SELECT a.resposta,
(
SELECT count(r.id)
FROM car_resultado r2
LEFT JOIN car_resultado_inquerito ri2 ON r2.id_resultado_inquerito = ri2.id
WHERE ri2.id_inquerito = 20 AND r2.id_resposta = a.id
GROUP BY r2.id_pergunta, r2.id_resposta
) as total
FROM car_resposta a
LEFT JOIN car_resultado r ON (r.id_resposta = a.id)
GROUP BY a.id, r.id_resposta

Я понятия не имею, как это сделать, главным образом потому, что вложенная SELECT

+0

Я не знаю о доктрине, но если доктрина исходит от PHP, и у вас есть код SQL, как бы вы преобразовали SQL в Doctrine ?, я имею в виду, что SQL и Doctrine разные. Еще одна вещь, которую вы можете добавить в подзапрос LIMIT 1, я думаю, что у вас может быть проблема. – jcho360

ответ

0

Обычно вы должны создать свои Сущности и репозитории, чтобы получить данные из базы данных. Но в Доктрине2 нетрудно. Вы можете выполнить собственный SQL.

Doctrine2 Native SQL

Если его возможно, вы не должны делать это и работать с классами, но если у вас есть сложные существующие запросы вы можете сделать это.