2012-06-27 46 views
1

我真的需要幫助,有沒有人知道如何使用createQueryBuilder將此SQL查詢轉換爲Doctrine2查詢?Doctrine2中的SQL查詢

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

我不知道doctine,但是如果它的學說來自PHP並且您在這裏有SQL代碼,那麼您如何將SQL轉換爲Doctrine?,我的意思是SQL和Doctrine不同。另一件事你可以添加到子查詢LIMIT 1,我認爲你可能有一個問題。 – jcho360

回答

0

通常你必須創建實體和庫從數據庫獲取數據。但是在Doctrine2中是一個不起眼的方式。您可以執行原生SQL。

Doctrine2 Native SQL

,如果可能,你不應該這樣做,並與類工作,但如果你有一個複雜的現有查詢,你可以做到這一點。