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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询( R! K3 c5 A- i$ l) i3 ?5 n
表达式        含义
1 @& n: ]' P9 p6 IEQ        等于(=)( `+ p" G- `  o2 |* i
NEQ        不等于(<>): U1 m% r6 B, N* _
GT        大于(>)
) ~& e8 A) A2 p( UEGT        大于等于(>=)/ G2 |% f* N6 n8 n
LT        小于(<)
# |" R' n+ J. G; N; g  pELT        小于等于(<=)& I5 K; @" V. b: n7 R, Q
LIKE        模糊查询
* J+ F" i2 h) Q/ g2 R9 p8 |$ h, r[NOT] BETWEEN        (不在)区间查询
+ u1 c& m& h' ~* e$ ]4 q[NOT] IN        (不在)IN 查询6 x9 L! z/ |. O( ^: o
EXP        表达式查询,支持SQL语法0 c) c& r: k! T! F* _  u  s) B% t
, i$ ]: m+ \! f

( z0 v& {* F" c5 q/ J, Q. X) e$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件
: @# r) n/ G  B3 t( _M("User")->where($where)->select();//查询status为0的记录
/ y$ K& ~8 R* `4 S3 p5 ^  T! Q8 P! }; _+ V  ~
3、where方法数组查询例子
4 W+ L3 J4 L* Z& ]& n, C1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。
/ Z; L" q. z2 N$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件- `% p% L) G5 J1 H; Q0 X
M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录& u3 W" F- l% n6 I" g% r# m  k* W
6 G6 x* {2 C9 n- f
2、数组查询使用OR查询?比如,查询status等于0或者1的记录。
; @- T/ {3 H6 H2 d" E! I6 `: K$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
4 E5 |2 l" z, H- D. s& PM("User")->where($where)->select();//查询status等于0或者1的记录
. K3 o( Z; s; n3 N$ S- e$ \
( h+ B) G4 S7 {% _0 N$ N3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。
: }4 Q3 S& _, `8 A  q' v$where['createdate'] = array('EGT',"2016-04-20");" ]1 L- J' p& e5 e! u
$where['status'] = '1';
6 r, ~6 A- H& \& A4 U' K: K$condition['_logic'] = "AND";* c: j; m# p2 q: o9 A( w
$map['_complex']=$where;
/ k  Q. P' U7 r, V7 a" _$map['level']='0';% m3 E1 F; v1 |
$map['_logic']='OR';  ?. G5 }" s; \6 ]3 R# ?
M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
$ y# x/ G3 J6 e3 w2 D
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-1-30 15:04 , Processed in 0.054290 second(s), 19 queries .

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