condition()的第一个参数,也可以是一个条件语句对象。内部的条件语句对象将被纳入到外部的条件语句中去,并放在括号中间。内部对象所使用的连接词,可以与外部不同。这样,就可以通过“自下而上”的方式,来创建条件语句对象,从而就可以构建一个复杂的嵌套的条件语句了。
db_condition()帮助函数将返回一个新的条件语句对象。它只有一个参数,就是对象使用的连接词。一般情况下,帮助方法db_and()、db_or()、和db_xor()就可以涵盖大多数情况了。它允许条件语句以内联的方式插入到查询中,这样代码看起来更加紧凑。
例如,看一下下面的结构体:
<?php
$query
->condition('field1', array(1, 2), 'IN')
->condition(db_or()->condition('field2', 5)->condition('field3', 6))
// 对应结果:
// (field1 IN (:db_placeholder_1, :db_placeholder_2) AND (field2 = :db_placeholder3 OR field3 = :db_placeholder_4))
?>