sql doctrine pagination symfony-1.4

Consulta SQL con UNION en Doctrine Symfony



pagination symfony-1.4 (2)

Tengo una pregunta sobre la traducción de una consulta SQL en Doctrine Symfony. Me gustaría hacer una cosa así:

SELECT m.* FROM member m INNER JOIN ( SELECT id_member FROM friend WHERE id_friend=99 UNION SELECT id_friend FROM friend WHERE id_member=99 ) a ON m.id=a.id_member WHERE m.visible=1

En este ejemplo, busco todos los amigos del usuario 99.

Mis tablas:

Miembro: (id, nombre, visible)
Amigo: (id, id_member, id_friend, activo)

Precisión: me gustaría utilizar el buscapersonas Symfony.

Una solución ? Gracias !


UNION no es compatible con DQL, pero puede emitir su consulta utilizando SQL RAW ->

$q = Doctrine_Manager::getInstance()->getCurrentConnection(); $result = $q->execute(" -- RAW SQL HERE -- ");


Otra alternativa a @ManseUK es:

$em = $this->getEntityManager(); $connection = $em->getConnection(); $statement = $connection->prepare("-- RAW SQL HERE --"); $statement->execute(); return $statement->fetchAll();