Drupal 7 db_更新的多个条件

Drupal 7 db_更新的多个条件,drupal-7,Drupal 7,在Drupal 7中,简单的更新如下: $num_updated = db_update('joke') ->fields(array( 'punchline' => 'Take my wife please!', )) ->condition('nid', 3, '>=') ->execute(); 但是如果我有多个条件(比如nid>=3和uid>=2),该怎么办呢。写一些类似于: $num_updated = db_update('joke') ->fi

在Drupal 7中,简单的更新如下:

$num_updated = db_update('joke')
->fields(array(
'punchline' => 'Take my wife please!',
))
->condition('nid', 3, '>=')
->execute();
但是如果我有多个条件(比如nid>=3和uid>=2),该怎么办呢。写一些类似于:

$num_updated = db_update('joke')
->fields(array(
'punchline' => 'Take my wife please!',
))
->condition('nid', 3, '>=')
->condition('uid', 2, '>=')
->execute();

似乎不起作用。有什么想法吗?

你所写的内容相当于:

'...WHERE (NID >= 3 AND UID >= 2)"
如果需要一个或条件语句,则需要嵌套语句(不,这不是很直观):

还有db_和()[链接多个条件方法的默认值]和db_xor(),可以在嵌套时使用

->condition(db_or()->condition('NID'', 3, '>=')->condition('UID', 2, '>='))