如何编写具有多个条件的Doctrine查询?

时间:2012-06-28 15:53:21

标签: php doctrine doctrine-query

我正在尝试编写符合以下条件的学说查询:

published = 1
AND 
subsection = "gui" OR "lvo" OR "tnn" OR "wer"

这就是我所拥有的:

$getPrograms = Doctrine::getTable('Program')
  ->createQuery()
  ->where('published=?', '1')
  ->andWhere('subsection=?', 'gui')
  ->orWhere('subsection=?', 'lvo')
  ->orWhere('subsection=?', 'tnn')
  ->orWhere('subsection=?', 'wer')
  ->orderBy('title ASC')
  ->execute();

这是拉动正确的分段记录,但是将所有已发布记录拉出记录,而不是仅记录为1。

我觉得我需要隔离这两个条件(这个AND(这个OR或者这个))但是我不知道如何。

1 个答案:

答案 0 :(得分:4)

OR放入andWhere

$getPrograms = Doctrine::getTable('Program')
  ->createQuery()
  ->where('published=?', '1')
  ->andWhere(
    'subsection=? OR subsection=? OR subsection=? OR subsection=?', 
    array('gui', 'lvo', 'tnn', 'wer')
  )
  ->orderBy('title ASC')
  ->execute();