ver todas seguidores para paginas mejores los las hashtags etiquetas escoger diarios conseguir php mysql sql symfony doctrine2

php - todas - Condición de ON de combinación izquierda Y otra sintaxis de condición en Doctrine



paginas para ver hashtags (1)

Estoy usando el generador de consultas de Doctrine en Symfony2 para crear una consulta para captar entidades.

Mi código actual se ve así:

$repository = $this->getDoctrine()->getRepository(''AaaBundle:Application''); $queryBuilder = $repository->createQueryBuilder(''a''); $queryBuilder ->addSelect(''u'') ->addSelect(''i'') ->orderBy(''a.created_date'', ''DESC'') ->leftJoin(''a.created_by'', ''u'') ->leftJoin(''a.installations'', ''i'') //->where(''i.page = :page'') //->setParameter(''page'', $found) ;

Ahora puedo usar esto para obtener todas las páginas independientemente de si tienen una instalación o no. Pero solo quiero unirme a ellos, la página $found está disponible (de modo que si hay una instalación para la aplicación, pero está en otra página, la instalación no se unirá). Si elimino la cita de la cláusula where, solo se mostrarán las aplicaciones que tengan una instalación para la página. Quiero todas las aplicaciones con o sin instalaciones para la página.

En SQL, puedo obtener esto agregando AND a la unión

LEFT JOIN installations i ON a.id = i.app AND i.page = :page

De esta manera obtengo la información de instalación para una aplicación que tiene una instalación en la página, pero obtengo valores nulos en las columnas para las aplicaciones que tienen instalaciones en otras páginas o no funcionan en absoluto.

¿Hay alguna manera de hacer esto en Doctrine o me conviene solo obtener todas las instalaciones para cada aplicación y luego consultar la página encontrada con php?