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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
b、表达式查询  F0 \" F3 W+ }0 x5 H. W* t
表达式        含义: s# h- V" u5 t% n1 M) X- |
EQ        等于(=)
/ a( J) Z$ u8 MNEQ        不等于(<>)
+ O. v0 l! |8 U1 Q: rGT        大于(>)* d2 x: J8 l% X
EGT        大于等于(>=)+ ~1 a4 o3 m, O) U2 d! y5 u
LT        小于(<)
" J" K1 ]' ]/ n0 h4 N3 YELT        小于等于(<=)
. j; \4 O/ _' H# q6 }: g, h% O# U; WLIKE        模糊查询9 J1 E( V& Y& t; n
[NOT] BETWEEN        (不在)区间查询
8 Y3 J2 ]# N$ u& f  |" E[NOT] IN        (不在)IN 查询
& ^/ `+ t% n, OEXP        表达式查询,支持SQL语法
1 ?% J7 r7 E! J' j4 Q) p/ B  F6 x, n; _2 ]! r' L7 Q
+ n# [0 M4 M1 q2 s! `& [0 z$ l. m
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件
0 j+ |8 R. ]$ C4 }. q- h0 l: R$ EM("User")->where($where)->select();//查询status为0的记录
" m5 p3 f8 M, s- A8 M3 k
) E: ^# L+ C8 H& e3 T* s: H4 Y, V2 w3、where方法数组查询例子
( F/ a! A, r6 q) m* B  T7 S1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。$ @0 x. u' m  C. ?  Q, Y9 o# [
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件
5 W0 K) [& i. @( v1 t. @M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录
+ [$ L* Y1 z. q& ?. r" z5 k! N
, N% X* Y" A( j" s  O7 p8 q2、数组查询使用OR查询?比如,查询status等于0或者1的记录。) M  }0 m) ?% m; r7 r- U; T
$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
8 ~* N. |/ k/ SM("User")->where($where)->select();//查询status等于0或者1的记录
1 K1 z7 t" u  A2 g; }4 @+ a3 A% b  d; _8 F
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。
2 q3 C! Q2 Y2 ?! o$where['createdate'] = array('EGT',"2016-04-20");0 A; a( ?$ V4 Y6 `2 G
$where['status'] = '1';
8 \7 R! r, s  e. y$condition['_logic'] = "AND";
* ?6 t6 O! s$ D5 g6 ]' r8 _; n$map['_complex']=$where;
# M0 o  `4 q) v$map['level']='0';2 }% s$ F2 U( H! a8 X6 T
$map['_logic']='OR';) i+ L+ T# I: r9 `1 l/ H
M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录1 H1 O. V- B, N9 w* J( b& J
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-23 02:27 , Processed in 0.110368 second(s), 22 queries .

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