我如何在数据库查询中使用 'OR'
How I can use 'OR' in my db queries
我真正想要的是:
$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();
很多条件我想用or写但是不知道怎么写..
默认设置为AND,要使用or,你必须这样做
$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();
$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();
试试上面的代码。
我真正想要的是:
$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();
很多条件我想用or写但是不知道怎么写..
默认设置为AND,要使用or,你必须这样做
$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();
$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();
试试上面的代码。