ThinkPHP查询语言之组合查询

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

导航:上一页


如果进行多字段查询,那么字段之间的默认逻辑关系是 逻辑与 AND,但是用下面的规则可以更改默认的逻辑判断,例如下面的查询条件:

PHP代码

$User = M("User"); // 实例化User对象    

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

$map['name'] = 'ok';    

$User->where($map)->select();    

得到的查询条件是:( `id` != 1 ) AND ( `name` = 'ok' ) 如果添加了下面的查询条件:$map['_logic'] = 'or'; 现在的查询条件就变为: ( `id` != 1 ) OR ( `name` = 'ok' )

数组条件还可以和字符串条件混合使用,例如:

PHP代码

$User = M("User"); // 实例化User对象    

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

$map['name'] = 'ok';    

$map['_string'] = 'status=1 AND score>10';    

$User->where($map)->select();    

最后得到的查询条件就成了:( `id` != 1 ) AND ( `name` = 'ok' ) AND ( status=1 AND score>10 )新版还可以支持一种特殊的条件查询,前提是简单的条件相等判断。$map['_query'] = 'status=1&score=100&_logic=or';得到的查询条件是:`status` = '1' OR `score` = '100'