Uso del operador IN en consultas DQL de Doctrine y otros operadores SQL

A menudo tengo la necesidad de usar el operador IN dentro del WHERE de una consulta DQL con Doctrine y casi siempre se me olvida como usarlo.

Para ello voy a explicar como usarlo a continuación con un ejemplo:

– Imaginamos que tenemos un array con los posibles valores que queremos seleccionar en la parte del where de la consulta tal que asi:

$filters = array(1, 2, 3, 4, 10, 15, 25);

-Ahora, hacemos nuestra consulta de la siguiente forma:

$users = $qb
    ->addSelect('user')
    ->from('UsuarioBundle:User', 'user')
    ->join('user.userGroup', 'userGroup')
    ->where($qb->expr()->in('userGroup.id', $filters))
    ->getQuery()
    ->getResult();

 De esta forma, usando el expr() del QueryBuilder podemos usar los operadores IN, NOT IN, BETWEEN, MAX, MIN, etc. Podeis ver toda la documentacion y los operadores disponibles en la documentacion oficial de Doctrine sobre el querybuilder:

-http://doctrine-orm.readthedocs.org/projects/doctrine-orm/en/latest/reference/query-builder.html#high-level-api-methods

Ale, espero que os sirva de ayuda.

Saludos Devs¡

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s