Réalisations du développeur web

Projets des applications web

Ce site ne sera plus alimenté de contenu après août 2014. Tous les nouveaux articles seront redigés pour www.waitingforcode.com
Un conseil Doctrine

Comment exécuter une requête WHERE IN() ?

Doctrin2 rend possible l'exécution de la requête contenant la condition IN(). On peut soit construire les requêtes SQL en natif, soit utiliser les expressions. Ici on va voir comment faire cela avec cette deuxième méthode. Dans notre exemple on voudra récupérer les informations correspondant aux tags cachés sous variable $tags.

    $qb = $this->getEntityManager()->createQueryBuilder();
    $qb->add('select', 't.tagId, t.tagName')
    ->add('from', 'PagesNewsBundle:Tags t');
    $qb->add('where', $qb->expr()->in('t.tagName', $tags));
    $query = $qb->getQuery();
    return $query->getResult();