Comment exécuter une requête LIKE ?

Conseils Doctrine

Ce site ne sera plus alimenté de contenu après août 2014. Tous les nouveaux articles seront redigés pour www.waitingforcode.com
Pour créer une requête LIKE avec Doctrin2, on peut utiliser les expressions.

Par exemple, on veut récupérer toutes les actualités dont le titre commence par "Comment faire". Le champ correspondant dans le fichier d'entité sera représenté par la variable $newsTitle. On veut également que l'auteur s'appelle "Nick".

Voici comment on peut écrire une requête LIKE sous Doctrin2 :


$qb = $this->getEntityManager()->createQueryBuilder();
$qb->add('select', 'n.idNews')
->add('from', 'PagesNewsBundle:News n')
->add('where', $qb->expr()->andx(
$qb->expr()->eq('n.newsAuthor', '?1'),
$qb->expr()->like('n.newsTitle', '?2')
))
->setParameter(1, 'Nick')
->setParameter(2, 'Comment faire%');
$query = $qb->getQuery();
$rows = $query->getResult();
Bartosz KONIECZNY Conseils Doctrine