Php 在SF2 queryBuilder中的AND子句中添加OR子句

Php 在SF2 queryBuilder中的AND子句中添加OR子句,php,sql,symfony,query-builder,Php,Sql,Symfony,Query Builder,我想在SF2查询生成器中执行类似的请求: SELECT * FROM `annonce` a LEFT JOIN `ville` v ON a.ville_id=v.id WHERE a.titre LIKE '%s%' AND (v.cp LIKE '94%' OR v.nomComplet='alf%') 但是我不知道如何在AND子句中包含OR子句。目前我有: $qb = $this->createQueryBuilder('a') ->se

我想在SF2查询生成器中执行类似的请求:

SELECT *
FROM `annonce` a 
LEFT JOIN `ville` v ON a.ville_id=v.id 
WHERE a.titre LIKE '%s%' AND (v.cp LIKE '94%' OR v.nomComplet='alf%')
但是我不知道如何在AND子句中包含OR子句。目前我有:

$qb = $this->createQueryBuilder('a')
                ->select('a')
                ->leftJoin('a.ville', 'v');
        $qb->where($qb->expr()->like('a.titre', ':titre'))
                ->andWhere($qb->expr()->like('v.cp', ':lieu'))
                ->OrWhere($qb->expr()->like('v.nomComplet', ':lieu'))
                ->setParameter('titre', '%' . $item . '%')
                ->setParameter('lieu', $lieu . '%')
                ->getQuery()
                ->getResult();
但这不是正确的实现。我需要在AndWhere中找到OrWhere


谢谢你的帮助

你要找的是

$qb->expr()->andWhere(
    $qb->expr()->orX(
        $qb->expr()->like('v.cp', ':lieu'),
        $qb->expr()->like('v.nomComplet', ':lieu')
    )
)