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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
b、表达式查询
! H$ s" d" o' ~表达式        含义
. F( R4 \7 E# g& Y5 a0 O  REQ        等于(=)
! F: F! p' s& H  YNEQ        不等于(<>)
$ @/ `6 h2 s$ x3 GGT        大于(>)
, r: p( u6 ~( P& H1 aEGT        大于等于(>=)
( Q' X  C% G8 S0 `) ILT        小于(<)& r# T( l5 l% O0 b
ELT        小于等于(<=)
8 n& M2 H& l7 D# ^( c3 i! l# sLIKE        模糊查询
- P" j, Q4 \5 R2 o[NOT] BETWEEN        (不在)区间查询! q& ]6 h4 C. c1 ], [6 b
[NOT] IN        (不在)IN 查询
6 S& X1 ~0 L/ [+ N# v" ?) KEXP        表达式查询,支持SQL语法
3 ~9 y$ `0 v& I  W
' P7 o' N5 S4 R% {' x( `4 G$ L- E- c. g5 e/ C: u9 d- [0 s
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件
. R3 Q! ~( P) }5 r: Q3 s' \M("User")->where($where)->select();//查询status为0的记录- I' r, \6 F% \3 x

- C- ^) v# G5 J( ]3、where方法数组查询例子7 r/ y& X' n  P: h/ d# s# L1 m2 W
1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。, _$ u# ]! F% V, Z: C
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件% V7 A1 u; W! f4 ~* W
M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录
$ E# K/ S0 a! v4 h' Z+ |
! h5 i! B% h7 O1 D* J4 c  ]2、数组查询使用OR查询?比如,查询status等于0或者1的记录。. q7 N$ r8 \. m2 j) B0 A6 N+ @
$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
. n0 R% H  ]" `( V" C0 p! VM("User")->where($where)->select();//查询status等于0或者1的记录7 Q5 C) |" h! X

: e$ x! F7 u" `! O3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。# A# R$ H* J; S+ S6 |, h/ H( H
$where['createdate'] = array('EGT',"2016-04-20");$ C  @, l  ~% O$ j) E
$where['status'] = '1';
/ D  S& B: r6 H  ~* ], R$condition['_logic'] = "AND";
8 k& F! q! X* D$map['_complex']=$where;  B8 o6 W0 y3 e6 X* j
$map['level']='0';3 s: t' [! b! w* w* z) n
$map['_logic']='OR';
2 n& @* V/ {& G2 W) jM("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
& o  x& U: q. s# I& P+ `
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-17 12:28 , Processed in 0.146993 second(s), 22 queries .

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