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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询
, Q  H: r& W' }! Q. v: y- Y% m8 a* @表达式        含义9 o/ q" _( u% W- p5 X# X! _4 u% }) c
EQ        等于(=)* p' l4 l0 X7 T* [# E6 j
NEQ        不等于(<>)
+ k' d- K2 M3 T7 D% kGT        大于(>)
/ Z# w3 k( T7 M" n( j8 |EGT        大于等于(>=)" B- `# w9 e9 Y3 \6 [6 r
LT        小于(<)3 D* M; k* g- w& y0 `1 ]( X
ELT        小于等于(<=): k% \" u$ g! [" H% H- C! S+ j, c
LIKE        模糊查询; L9 u$ ~, H. {& \  ]
[NOT] BETWEEN        (不在)区间查询! U4 X- u3 w! w2 P' i! m  x
[NOT] IN        (不在)IN 查询
; Q3 [# l# ^1 G" L! c) b1 tEXP        表达式查询,支持SQL语法; r  U/ T5 C: ~2 q" c

4 W* X( F6 P+ I) T2 C! j' s  S5 P6 }2 e/ f7 Y
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件( a, ^( y3 H  f: S
M("User")->where($where)->select();//查询status为0的记录% C$ M2 M5 G6 i3 \9 j4 X

& X, o9 q( D; q1 o3、where方法数组查询例子" c) s0 t4 s: t$ O7 p
1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。9 D+ {3 J1 |, h3 j
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件( S1 b5 y& \* j3 Z# D+ V
M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录! B' P4 \* c4 C. ]' w

9 M$ L2 @8 I1 M1 l) O2、数组查询使用OR查询?比如,查询status等于0或者1的记录。; J6 i' h# Y5 T1 L) A  s
$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件; ?+ }, _1 D3 Y& D" S
M("User")->where($where)->select();//查询status等于0或者1的记录
2 v$ C2 X4 \5 Y! P* a- r) I* o# f+ l: F
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。% t; s0 m% i+ g# ~
$where['createdate'] = array('EGT',"2016-04-20");
4 R, H8 \7 \1 N' G, i$where['status'] = '1';5 w: S( N6 D6 s! b9 X9 \5 T
$condition['_logic'] = "AND";6 [+ q' r9 B$ B& f
$map['_complex']=$where;
2 g# U$ ?! C' b$map['level']='0';1 X1 X" s  Y2 \
$map['_logic']='OR';$ y4 \/ b$ g/ @. j1 Z6 J
M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
0 W% W, B7 q! j* ^6 ?) H  R& t
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-23 07:45 , Processed in 0.099094 second(s), 21 queries .

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