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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询$ H" L+ R0 \2 u- M* S& Y
表达式        含义
+ T+ B* n# r" l6 o- [! R* gEQ        等于(=)# |& V! C! E9 a8 W# t' L
NEQ        不等于(<>)3 t+ {! s2 R4 l3 Q) F$ c
GT        大于(>)% I0 q1 _! j+ x2 g( t
EGT        大于等于(>=)
& p7 U3 P! ]1 O- x: _LT        小于(<)8 ~  L8 W' [: X, K/ X
ELT        小于等于(<=)
- B5 i* |7 y* m% ^/ q7 Q* l1 WLIKE        模糊查询* r9 H. _2 j& s, i# ?3 q6 `
[NOT] BETWEEN        (不在)区间查询
3 R5 }& ]+ x; h* E$ F[NOT] IN        (不在)IN 查询
& W# b+ a* v3 H, L1 t% ?3 YEXP        表达式查询,支持SQL语法; g/ c- X& U% K# x1 k
1 m' R+ O* _% r: H% K1 m  ?% ~3 P
- x- F% c4 m& ?6 ~
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件. I) ~9 A, [# V* C4 b0 M* }/ ]' M" ?
M("User")->where($where)->select();//查询status为0的记录, \6 K, @9 |: Q7 p& a6 f

% h8 g& u; M4 G3、where方法数组查询例子! ]0 j; u: H8 @$ I, c5 A7 P
1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。
4 K2 a4 B1 F# W6 S+ `$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件
8 N$ r3 A1 \/ A& ^) L- _M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录) O, F3 |/ ]3 K3 u, x) Y) F
7 c$ S2 \0 g- S2 u: j% w
2、数组查询使用OR查询?比如,查询status等于0或者1的记录。
$ f; Z/ L8 a1 t, T7 t* P& K$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件4 {, ?! @  I6 A4 W# ?# e
M("User")->where($where)->select();//查询status等于0或者1的记录
4 `& T6 t7 O5 ^, `3 B3 Z/ [: z2 B# F5 x6 P' Q1 D# d2 i! N
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。
) E4 P  Y/ y# O7 I: |$where['createdate'] = array('EGT',"2016-04-20");
* ]( @  y* t. ^- r# J$where['status'] = '1';% u# M* t' x. H; H" R# p
$condition['_logic'] = "AND";) C6 O8 F# q5 b. Q. I
$map['_complex']=$where;( z' K) u7 N8 g* i/ y
$map['level']='0';1 t5 |$ V% y8 e1 I7 Y( \
$map['_logic']='OR';  k$ m3 W3 j: I' p9 P0 _* l
M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
! O3 W" X3 M& M) N3 |, C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-5-1 00:02 , Processed in 0.071946 second(s), 29 queries .

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