我如何在数据库查询中使用“OR”

时间:2015-04-21 13:57:43

标签: mysql sql database drupal drupal-7

我真正想要的是:

$query = db_select('watchdog', 'wa');
$query->orderBy('wa.timestamp', 'DESC')
        ->condition('blablabla', 'closed', '=') or 
          ('blablabla', 'blabla', '=')
           or ('blablabla', 'balblabla', '=')
        ->range(0, 20);
  $result = $query->execute();

我想提出许多条件,但我不知道如何写下来..

2 个答案:

答案 0 :(得分:2)

默认设置为AND,要使用或者你必须这样做

  $query = db_select('watchdog', 'wa');
    $query->orderBy('wa.timestamp', 'DESC');
    $or = db_or();
    $or->condition('blablabla', 'closed', '=');
    $or->condition('blablabla', 'blabla', '=');
    $or->condition('blablabla', 'balblabla', '=');
    $query->condition($or);
    $query->range(0, 20);

    $result = $query->execute();

答案 1 :(得分:0)

$query = db_select('watchdog', 'wa');
//your condition
$condition = db_or()
  ->condition('blablabla', 'closed', '=')
  ->condition('blablabla', 'blabla', '=')
  ->condition('blablabla', 'balblabla', '=');

$query->condition($condition)
      ->orderBy('wa.timestamp', 'DESC')
      ->range(0, 20);
$result = $query->execute();

试试上面的代码。