sql >> Base de Datos >  >> RDS >> Mysql

Cláusulas WHERE complejas usando PHP Doctrine ORM

Desde mi experiencia, cada complejo where La función está agrupada entre paréntesis (estoy usando Doctrine 1.2.1).

$q->where('name = ?', 'ABC')
  ->andWhere('category1 = ? OR category2 = ? OR category3 = ?', array('X', 'X', 'X'))
  ->andWhere('price < ?', 10)

produce el siguiente SQL:

WHERE name = 'ABC' 
  AND (category1 = 'X' OR category2 = 'X' OR category3 = 'X')
  AND price < 10