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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询9 c: ^- [1 S+ j" Z1 _7 ~- `- ]3 g! x, c0 u
表达式        含义' y) R+ j5 J! Z4 \
EQ        等于(=)* ?: z' m! _& U( {
NEQ        不等于(<>)
: O8 x9 t( K8 W" dGT        大于(>)
" c1 P7 F: l/ [+ M. K0 ?, E5 BEGT        大于等于(>=)
5 Z4 K: [, B& t, W+ jLT        小于(<)
2 I! f/ W! ^/ a8 c' EELT        小于等于(<=)
/ B: |, O& T. i1 HLIKE        模糊查询
. \3 u* z5 y/ F. H+ J$ q- Q+ \5 }& s5 p[NOT] BETWEEN        (不在)区间查询
: x2 w* s- ^4 W& O0 i' q8 s' n' G[NOT] IN        (不在)IN 查询$ D6 J! U( L  r4 D
EXP        表达式查询,支持SQL语法
1 ^7 _* l4 l* u0 A# n& {% a
6 y3 T# ^) D4 D- T( I; K7 ]
' U3 P4 B# l- e$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件' _+ F5 ], n, `; n6 z5 n
M("User")->where($where)->select();//查询status为0的记录( H# a5 B2 x% y1 z- A( e4 G3 C

, M6 b4 w5 `2 I: G3、where方法数组查询例子# d! z, l2 r0 J: s- v  v4 J2 H3 A
1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。- Y/ P2 G/ u! M" h4 w) p
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件% l% `. A6 l1 ]0 r5 u0 u5 f
M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录' o# r2 j9 S; h: _" M
/ V' o* g. `# B3 e6 I* m
2、数组查询使用OR查询?比如,查询status等于0或者1的记录。, y- G/ G! E4 J. B
$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件, ]1 s4 v) X3 X7 y/ h
M("User")->where($where)->select();//查询status等于0或者1的记录
0 S+ o7 d" v. ~! |$ y. R
. ~& O" O) `# T  J3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。
: z; w& n( {; @/ m  @  g* q0 m' N$where['createdate'] = array('EGT',"2016-04-20");
2 M- S) S. H, W( O; Z$where['status'] = '1';
6 Y. T6 f  w0 Q; ?$condition['_logic'] = "AND";' U3 T- C2 ^% Z8 u1 X- K
$map['_complex']=$where;- Y. c5 W' H7 q9 _* z
$map['level']='0';
- V8 T; q' Q6 ~4 V. N, q1 Z$map['_logic']='OR';: }! }# _" F: ]8 |( W; V
M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
+ d# f+ J1 i& @# I
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-16 18:44 , Processed in 0.052918 second(s), 19 queries .

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