order('iddesc')->limit($limit)->page($pag" />
TP5 where多条件查询 |
您所在的位置:网站首页 › 多个条件查询数据库 › TP5 where多条件查询 |
$rs=Db::name('manage')->where('type',$sotype)->where($type,'like',"%{$key}%")->order('id desc')->limit($limit)->page($page)->select();
引用:http://blog.csdn.net/u010447573/article/details/47420063 一、TP5.1版本 if($sotitle){ if($sotype=="id"){ $where[$sotype] = $sotitle; }else{ $where = [ ['title', 'like', "%".$sotitle."%"], ]; } } $where['level'] = 1;$rs1=Db::name('column')->where($where)->select(); Where 条件表达式格式为: $map['字段名'] = array('表达式', '操作条件');其中 $map 是一个普通的数组变量,可以根据自己需求而命名。上述格式中的表达式实际是运算符的意义: ThinkPHP运算符 与 SQL运算符 对照表 TP运算符SQL运算符例子实际查询条件eq=$map['id'] = array('eq',100);等效于:$map['id'] = 100;neq!=$map['id'] = array('neq',100);id != 100gt>$map['id'] = array('gt',100);id > 100egt>=$map['id'] = array('egt',100);id >= 100ltsave($data);引用:https://www.cnblogs.com/jiqing9006/p/4994302.html where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHP ORM的重要组成部分和亮点所在,可以完成包括普通查询、表达式查询、快捷查询、区间查询、组合查询在内的查询操作。where方法的参数支持字符串和数组,虽然也可以使用对象但并不建议。 字符串条件 $User = M("User"); // 实例化User对象 $User->where('type=1 AND status=1')->select();SELECT * FROM think_user WHERE type=1 AND status=1 数组条件 普通查询 $User = M("User"); // 实例化User对象 $map['name'] = 'thinkphp'; $map['status'] = 1; // 把查询条件传入查询方法 $User->where($map)->select(); SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1 表达式查询 $map['字段1'] = array('表达式','查询条件1'); $map['字段2'] = array('表达式','查询条件2'); $Model->where($map)->select(); // 也支持 $map['id'] = array('eq',100);表示的查询条件就是 id = 100 $map['id'] = array('neq',100);表示的查询条件就是 id 100 $map['id'] = array('gt',100);表示的查询条件就是 id > 100 $map['id'] = array('egt',100);表示的查询条件就是 id >= 100 $map['id'] = array('lt',100);表示的查询条件就是 id < 100 $map['id'] = array('elt',100);表示的查询条件就是 id where($map)->select(); 最后得到的查询条件就成了:( `id` != 1 ) AND ( `name` = 'ok' ) AND ( status=1 AND score>10 )
复合查询 $where['name'] = array('like', '%thinkphp%'); $where['title'] = array('like','%thinkphp%'); $where['_logic'] = 'or'; $map['_complex'] = $where; $map['id'] = array('gt',1);等同于 $where['id'] = array('gt',1); $where['_string'] = ' (name like "%thinkphp%") OR ( title like "%thinkphp") ';查询条件是 ( id > 1) AND ( ( name like '%thinkphp%') OR ( title like '%thinkphp%') )
等等这些都是常用的where查询方法。 官方查询语法:https://www.kancloud.cn/manual/thinkphp5/135182 查询表达式 版本新增功能5.0.9比较运算增加闭包子查询支持5.0.4支持对同一个字段多次调用查询方法查询表达式支持大部分的SQL查询语法,也是ThinkPHP查询语言的精髓,查询表达式的使用格式: where('字段名','表达式','查询条件'); whereOr('字段名','表达式','查询条件');表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是: 表达式含义EQ、=等于(=)NEQ、不等于()GT、>大于(>)EGT、>=大于等于(>=)LT、)例如: where('id','gt',100); where('id','>',100);表示的查询条件就是 id > 100 EGT:大于等于(>=)例如: where('id','egt',100); where('id','>=',100);表示的查询条件就是 id >= 100 LT:小于( |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |