ThinkPHP查询语言之复合查询

来自站长百科
跳转至: 导航、​ 搜索

导航:上一页


新版完善了复合查询,可以完成比较复杂的查询条件组装。例如:

PHP代码

$where['name']  = array('like', '%thinkphp%');    

$where['title']  = array('like', '%thinkphp%');    

$where['_logic'] = 'or';    

$map['_complex'] = $where;    

$map['id']  = array('gt',1);   

查询条件是

PHP代码

( id > 1) AND ( ( name like '%thinkphp%') OR ( title like '%thinkphp%') )   

复合查询使用了_complex作为子查询条件来定义,配合之前的查询方式,可以非常灵活的制定更加复杂的查询条件. 相同的查询条件有多种表达形式,例如上面的查询条件可以改成:

PHP代码

$where['id'] = array('gt',1);    

$where['_string'] = ' (name like "%thinkphp%")  OR ( title like "%thinkphp") ';   

最后生成的SQL语句是一致的。