Оператор SELECT в операторе LEFT JOIN с DOCTRINE в SYMFONY? - PullRequest
1 голос
/ 08 марта 2011

Есть ли способ запустить этот SQL-запрос в Doctrine, используя symfony ??

$q = "SELECT a.id as app_id, b.title as gameTitle FROM application a 
    LEFT JOIN application_translation b on a.id=b.id 
    LEFT OUTER JOIN (SELECT m.application_id as m_id, count(m.member_id) as total
    FROM member_application m GROUP BY m.application_id) x on x.m_id = a.id 
    WHERE a.is_active=1 AND a.is_mobile = 1
    ORDER BY x.total DESC";

Обновление

Спасибо за ваш ответ. Только одно, как я могу конвертировать

объект (sfOutputEscaperArrayDecorator) # 524

до

объект (sfOutputEscaperIteratorDecorator) # 560

используя ваш код? Я думаю, что это из-за HYDRATE MODE, но я не понимаю это ясно.

1 Ответ

2 голосов
/ 08 марта 2011

Вы можете попробовать выполнить ваш сырой SQL следующим образом:

$q = "SELECT a.id as app_id, b.title as gameTitle FROM application a 
LEFT JOIN application_translation b on a.id=b.id 
LEFT OUTER JOIN (SELECT m.application_id as m_id, count(m.member_id) as total
FROM member_application m GROUP BY m.application_id) x on x.m_id = a.id 
WHERE a.is_active=1 AND a.is_mobile = 1
ORDER BY x.total DESC";
$doctrine = Doctrine_Manager::getInstance()->getCurrentConnection()->getDbh();
$result = $doctrine->query($q);
...