牛骨文教育服务平台(让学习变的简单)

快捷查询

快捷查询方式是一种多字段查询的简化写法,可以进一步简化查询条件的写法,在多个字段之间用|分割表示OR查询,用&分割表示AND查询,可以实现下面的查询,例如:

不同字段相同的查询条件

$User = M("User"); // 实例化User对象
$map["name|title"] = "thinkphp";
// 把查询条件传入查询方法
$User->where($map)->select(); 

上面的查询其实可以等效于

$User = M("User"); // 实例化User对象
$map["name"] = "thinkphp";
$map["title"] = "thinkphp";
$map["_logic"] = "OR";
// 把查询条件传入查询方法
$User->where($map)->select(); 

查询条件就变成 name= "thinkphp" OR title = "thinkphp"

不同字段不同的查询条件

$User = M("User"); // 实例化User对象
$map["status&title"] =array("1","thinkphp","_multi"=>true);
// 把查询条件传入查询方法
$User->where($map)->select(); 

上面的查询等效于:

$User = M("User"); // 实例化User对象
$map["status"] = 1;
$map["title"]  = "thinkphp";
// 把查询条件传入查询方法
$User->where($map)->select(); 

"_multi"=>true必须加在数组的最后,表示当前是多条件匹配,这样查询条件就变成 status= 1 AND title = "thinkphp"

,查询字段支持更多的,例如:

$map["status&score&title"] =array("1",array("gt","0"),"thinkphp","_multi"=>true);

等效于:

$map["status"] = 1;
$map["score"] = array("gt",0);
$map["title"] = "thinkphp";

查询条件就变成 status= 1 AND score >0 AND title = "thinkphp"

注意:快捷查询方式中“|”和“&”不能同时使用。