In Drupal 7 simple updates work like this:
$num_updated = db_update('joke')
->fields(array(
'punchline' => 'Take my wife please!',
))
->condition('nid', 3, '>=')
->execute();
But what if I have multiple conditions( say nid >=3 and uid >=2). Writing something like:
$num_updated = db_update('joke')
->fields(array(
'punchline' => 'Take my wife please!',
))
->condition('nid', 3, '>=')
->condition('uid', 2, '>=')
->execute();
does not seem to work. Any ideas?
What you have written will do the equivalent of:
If you wanted an OR conditional you need to nest the statements as such (no, it’s not very intuitive):
There is also db_and() [default for chaining multiple condition methods] and db_xor() that you can use when nesting.