您尚未登录,请登录后浏览更多内容! 登录 | 立即注册

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11183|回复: 0
打印 上一主题 下一主题

[thinkphp学习资料] where查询表达式

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询- v; U6 y! ?  U/ w! G9 s
表达式        含义
" a' ?& m; ~1 p7 CEQ        等于(=), g" z- k/ N9 A6 w. O" g
NEQ        不等于(<>)# m: h4 f; h! u( ~6 w' e
GT        大于(>)& }' G6 D4 ~( I7 }$ Z/ r' w
EGT        大于等于(>=)
6 D5 V  E: T, L  k2 f9 zLT        小于(<)
7 W' [1 O2 z5 Q+ rELT        小于等于(<=)' N, F; G0 E" M7 T8 H0 y7 P
LIKE        模糊查询
$ M3 d6 e# P" k  |& y9 d[NOT] BETWEEN        (不在)区间查询% |5 X; K( V  Z( A& n4 L
[NOT] IN        (不在)IN 查询
  q) ^* e5 {6 e! l4 TEXP        表达式查询,支持SQL语法# x  [) Z. B2 y& ~
) u. H0 U3 B/ H. z

3 [. q' k; n: i' t$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件
- K4 h7 T' e: i) `& ~M("User")->where($where)->select();//查询status为0的记录2 L3 a7 O8 b/ d1 g: A$ v1 T

5 w+ }, n& g% b8 A3、where方法数组查询例子$ n7 G6 j) |5 L( `
1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。8 M( g1 ^+ s( f! w0 C
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件& J# D5 [) z2 x) _6 y4 X
M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录1 ^' j9 q) }9 @8 m% V

8 {" M  H% s+ }+ Q: Z2、数组查询使用OR查询?比如,查询status等于0或者1的记录。
8 g# C1 _! R7 A9 z2 B8 z9 z* ]0 j$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
$ j& W1 ^4 q; P9 Y% ]+ [, b3 y4 pM("User")->where($where)->select();//查询status等于0或者1的记录
, S, B% Y) w5 r$ r* ~- Q+ n1 [* M# G' S. T
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。2 v1 T5 c, X) V
$where['createdate'] = array('EGT',"2016-04-20");
! F1 F+ q8 {' Y5 K( H$where['status'] = '1';
4 l! L+ J+ i- z: d0 J$condition['_logic'] = "AND";
: y' o# x) a* ^( q. e+ E" i$map['_complex']=$where;! u1 Y) q( k3 g- R5 W3 g# I
$map['level']='0';! C1 V5 F: s/ Z/ M
$map['_logic']='OR';
- K# m. ~% t8 a# W- }' JM("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录4 _6 `' K/ b1 s
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-23 02:42 , Processed in 0.104465 second(s), 19 queries .

Copyright © 2001-2024 Powered by cncml! X3.2. Theme By cncml!