当前位置: 首页 > news >正文

棕色网站设计网站空间 云端

棕色网站设计,网站空间 云端,学校网站建设,星月教你做网站的文档where方法的用法是ThinkPHP查询语言的精髓#xff0c;也是ThinkPHP ORM的重要组成部分和亮点所在#xff0c;可以完成包括普通查询、表达式查询、快捷查询、区间查询、组合查询在内的查询操作。where方法的参数支持字符串和数组#xff0c;虽然也可以使用对象但并不建议。字… where方法的用法是ThinkPHP查询语言的精髓也是ThinkPHP ORM的重要组成部分和亮点所在可以完成包括普通查询、表达式查询、快捷查询、区间查询、组合查询在内的查询操作。where方法的参数支持字符串和数组虽然也可以使用对象但并不建议。 字符串条件 使用字符串条件直接查询和操作例如     $User M(User); // 实例化User对象     $User-where(type1 AND status1)-select(); 最后生成的SQL语句是     SELECT * FROM think_user WHERE type1 AND status1 如果使用3.1以上版本的话使用字符串条件的时候建议配合预处理机制确保更加安全例如     $Model-where(id%d and username%s and     xx%f,array($id,$username,$xx))-select(); 或者使用     $Model-where(id%d and username%s and xx%f,$id,$username,$xx)-select(); 如果$id变量来自用户提交或者URL地址的话如果传入的是非数字类型则会强制格式化为数字格式后进行查询操作。 字符串预处理格式类型支持指定数字、字符串等具体可以参考vsprintf方法的参数说明。 数组条件 数组条件的where用法是ThinkPHP推荐的用法。 普通查询 最简单的数组查询方式如下     $User M(User); // 实例化User对象     $map[name] thinkphp;     $map[status] 1;     // 把查询条件传入查询方法     $User-where($map)-select(); 最后生成的SQL语句是     SELECT * FROM think_user WHERE namethinkphp AND status1 表达式查询 上面的查询条件仅仅是一个简单的相等判断可以使用查询表达式支持更多的SQL查询语法查询表达式的使用格式     $map[字段1]  array(表达式,查询条件1);     $map[字段2]  array(表达式,查询条件2);     $Model-where($map)-select(); // 也支持 表达式不分大小写支持的查询表达式有下面几种分别表示的含义是 表达式     含义 EQ     等于 NEQ     不等于 GT     大于 EGT     大于等于 LT     小于 ELT     小于等于 LIKE     模糊查询 [NOT] BETWEEN     不在区间查询 [NOT] IN     不在IN 查询 EXP     表达式查询支持SQL语法 示例如下 EQ 等于 例如     $map[id]  array(eq,100); 和下面的查询等效     $map[id]  100; 表示的查询条件就是 id 100 NEQ 不等于 例如     $map[id]  array(neq,100); 表示的查询条件就是 id 100 GT大于 例如     $map[id]  array(gt,100); 表示的查询条件就是 id 100 EGT大于等于 例如     $map[id]  array(egt,100); 表示的查询条件就是 id 100 LT小于 例如     $map[id]  array(lt,100); 表示的查询条件就是 id 100 ELT 小于等于 例如     $map[id]  array(elt,100); 表示的查询条件就是 id 100 [NOT] LIKE 同sql的LIKE 例如     $map[name] array(like,thinkphp%); 查询条件就变成 name like thinkphp% 如果配置了DB_LIKE_FIELDS参数的话某些字段也会自动进行模糊查询。例如设置了     DB_LIKE_FIELDStitle|content 的话使用     $map[title] thinkphp; 查询条件就会变成 name like %thinkphp% 支持数组方式例如     $map[a] array(like,array(%thinkphp%,%tp),OR);     $map[b] array(notlike,array(%thinkphp%,%tp),AND); 生成的查询条件就是 (a like %thinkphp% OR a like %tp) AND (b not like %thinkphp% AND b not like %tp) [NOT] BETWEEN 同sql的[not] between 查询条件支持字符串或者数组例如     $map[id]  array(between,1,8); 和下面的等效     $map[id]  array(between,array(1,8)); 查询条件就变成 id BETWEEN 1 AND 8 [NOT] IN 同sql的[not] in 查询条件支持字符串或者数组例如     $map[id]  array(not in,1,5,8); 和下面的等效     $map[id]  array(not in,array(1,5,8)); 查询条件就变成 id NOT IN (1,5, 8) EXP表达式支持更复杂的查询情况 例如     $map[id]  array(in,1,3,8); 可以改成     $map[id]  array(exp, IN (1,3,8) ); exp查询的条件不会被当成字符串所以后面的查询条件可以使用任何SQL支持的语法包括使用函数和字段名称。 查询表达式不仅可用于查询条件也可以用于数据更新例如     $User M(User); // 实例化User对象     // 要修改的数据对象属性赋值     $data[name] ThinkPHP;     $data[score] array(exp,score1);// 用户的积分加1     $User-where(id5)-save($data); // 根据条件保存修改的数据 快捷查询 where方法支持快捷查询方式可以进一步简化查询条件的写法例如 一、实现不同字段相同的查询条件     $User M(User); // 实例化User对象     $map[name|title] thinkphp;     // 把查询条件传入查询方法     $User-where($map)-select(); 查询条件就变成 name thinkphp OR title thinkphp 二、实现不同字段不同的查询条件     $User M(User); // 实例化User对象     $map[statustitle] array(1,thinkphp,_multitrue);     // 把查询条件传入查询方法     $User-where($map)-select(); _multitrue必须加在数组的最后表示当前是多条件匹配这样查询条件就变成 status 1 AND title thinkphp 查询字段支持更多的例如 $map[statusscoretitle] array(1,array(gt,0),thinkphp,_multitrue); 查询条件就变成 status 1 AND score 0 AND title thinkphp 注意快捷查询方式中“|”和“”不能同时使用。 区间查询 where方法支持对某个字段的区间查询例如     $map[id] array(array(gt,1),array(lt,10)) ; 得到的查询条件是 (id 1) AND (id 10)     $map[id] array(array(gt,3),array(lt,10), or) ; 得到的查询条件是 (id 3) OR (id 10)     $map[id]  array(array(neq,6),array(gt,3),and); 得到的查询条件是(id ! 6) AND (id 3) 最后一个可以是AND、 OR或者 XOR运算符如果不写默认是AND运算。 区间查询的条件可以支持普通查询的所有表达式也就是说类似LIKE、GT和EXP这样的表达式都可以支持。另外区间查询还可以支持更多的条件只要是针对一个字段的条件都可以写到一起例如     $map[name]  array(array(like,%a%), array(like,%b%), array(like,%c%), ThinkPHP,or); 最后的查询条件是     (name LIKE %a%) OR (name LIKE %b%) OR (name LIKE %c%) OR (name ThinkPHP) 组合查询 组合查询用于复杂的查询条件如果你需要在查询的时候同时偶尔使用字符串却又不希望丢失数组方式的灵活的话可以考虑使用组合查询。 组合查询的主体还是采用数组方式查询只是加入了一些特殊的查询支持包括字符串模式查询_string、复合查询_complex、请求字符串查询_query混合查询中的特殊查询每次查询只能定义一个由于采用数组的索引方式索引相同的特殊查询会被覆盖。 一、字符串模式查询采用_string 作为查询条件 数组条件还可以和字符串条件混合使用例如     $User M(User); // 实例化User对象     $map[id] array(neq,1);     $map[name] ok;     $map[_string] status1 AND score10;     $User-where($map)-select(); 最后得到的查询条件就成了 ( id ! 1 ) AND ( name ok ) AND ( status1 AND score10 ) 二、请求字符串查询方式 请求字符串查询是一种类似于URL传参的方式可以支持简单的条件相等判断。     $map[id] array(gt,100);     $map[_query] status1score100_logicor; 得到的查询条件是id100 AND (status 1 OR score 100) 三、复合查询 复合查询相当于封装了一个新的查询条件然后并入原来的查询条件之中所以可以完成比较复杂的查询条件组装。 例如     $where[name]  array(like, %thinkphp%);     $where[title]  array(like,%thinkphp%);     $where[_logic] or;     $map[_complex] $where;     $map[id]  array(gt,1); 查询条件是 ( id 1) AND ( ( name like %thinkphp%) OR ( title like %thinkphp%) ) 复合查询使用了_complex作为子查询条件来定义配合之前的查询方式可以非常灵活的制定更加复杂的查询条件。 很多查询方式可以相互转换例如上面的查询条件可以改成     $where[id] array(gt,1);     $where[_string] (name like %thinkphp%)  OR ( title like %thinkphp) ; 最后生成的SQL语句是一致的。 多次调用 3.1.3版本开始where方法支持多次调用但字符串条件只能出现一次例如     $map[a] array(gt,1);     $where[b] 1;     $Model-where($map)-where($where)-where(status1)-select(); 多次的数组条件表达式会最终合并但字符串条件则只支持一次。 转自http://www.splaybow.com/post/thinkphp-where-function.html 转载于:https://www.cnblogs.com/lvchenfeng/p/4917901.html
http://www.zqtcl.cn/news/708088/

相关文章:

  • 娄底做网站陕西网站维护
  • 电子商务网站建设首要问题是佛山网站设计步骤
  • iphone网站哈尔滨做平台网站平台公司吗
  • 公司网站制作高端有什么网站可以做外贸出口信息
  • 旅游网站建设ppt自己动手制作网站
  • 做注册任务的网站有哪些seo搜索排名优化
  • 用php做网站和go做网站网站建设 完成
  • 做平面设计在那个网站上找图好网站广告出价平台
  • 网站点击率查询wordpress忘记后台账号
  • 网站怎么做全屏的网站建设报价比较表
  • 商城网站项目案例简单的明星个人网站建设论文
  • 腾讯云建网站如何利用谷歌云做自己的网站
  • 合肥网站搭建著名的网站建设公司
  • win7的iis怎么制作网站网页制作基础代码
  • 黄页网站大全免费网在线进一步优化供给推动消费平稳增长
  • dw中怎样做网站链接网页版qq登录入口账号密码
  • 外贸网站建设soho中国建设银行网站易方达消费
  • 淘宝客网站推广怎么做图文识别微信小程序是什么
  • 郑州网站建设、北京做网页公司
  • 代码错误网站wordpress主题屏蔽更新
  • 建五金方面的网站广告联盟app手机版
  • 宜宾建设网站公众号怎么制作流程
  • 上海崇明网站建设崇信县门户网站首页
  • 北京手机版建站系统开发学网页设计需要什么学历
  • 英文网站备案互联网排名前十的公司2021
  • 网站外部外链建设如何开发wordpress主题
  • 个人网站首页内容辽宁省建设网站
  • 二建证从住房建设厅网站调出流程需求分析 网站
  • 鞋子网站模板做网站开发学什么软件
  • 网站建设的需求客户中企动力科技股份有限公司招聘