Esta es una de esas situaciones en las que Doctrine ORM probablemente le cause más problemas de los que resuelve. Podrías:
- Utilice una consulta nativa
y
ResultSetMapping
relevantes configuración - Refactoriza tu consulta SQL en algo que Doctrine pueda manejar en DQL. Al observar la consulta que tiene, hay varias formas diferentes de hacerlo (por ejemplo, tratar la subconsulta como una tabla temporal en la parte FROM / JOIN), pero no puedo ver una forma en que Doctrine DQL lo permita
- Simplemente busque SQL directo usando Doctrine DBAL. Parece que estás usando
$this->_em
lo que me hace pensar que estás en unEntityRepository
, por lo que podría hacer:$this->_em->getConnection()
para obtener un Conexión DBAL entonces solo haz$conn->query()
. Obviamente, de esta manera, pierde los beneficios de un ORM (base de datos agnóstica, etc.), pero puede pensar que los ORM tienen un impuesto que ejecuta consultas complejas.
Entiendo que ninguno de estos es ideal, pero por experiencia, a veces es mejor quitar Doctrine ORM del camino para lograr lo que necesitas.