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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询
; x/ ]) {, c1 W9 i; i' s表达式        含义; ^# w6 [9 s9 `* r. D
EQ        等于(=)4 a0 M+ n4 m4 ?2 _
NEQ        不等于(<>)& G( [- _( y& H" f* H  h
GT        大于(>)2 B1 h5 Z3 Z+ P8 N
EGT        大于等于(>=)
) _9 F0 P, N- P# h* sLT        小于(<)
0 N5 S; v+ R& M" Y" I4 qELT        小于等于(<=)7 ]5 a/ B1 e: |8 @, i, A9 f' X
LIKE        模糊查询6 _) [) w0 X- ]: _2 v: X0 t
[NOT] BETWEEN        (不在)区间查询
! k* S  b' M3 Q0 l6 i5 G0 a$ q[NOT] IN        (不在)IN 查询
# ^0 O9 T2 q$ Q2 cEXP        表达式查询,支持SQL语法
; t! y. L3 n& S6 d! M# L/ N* y7 P0 H) O  e0 f4 y
& G. B4 N5 X0 q! F1 d6 l) h
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件
5 `# R& T4 Q5 g' j- g  @1 JM("User")->where($where)->select();//查询status为0的记录( d% M% t" v7 m7 a" i# U

! R  v; e3 m, U# P3、where方法数组查询例子
! S$ Z5 X9 B! B) |9 Z. @1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。/ }/ t# n: V& M( A+ Q7 r
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件
. }) ?0 F3 Q" e% D0 H7 s8 G; \M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录
7 b4 Q$ l8 M0 v5 t/ V& m3 i  o5 B( ~0 t2 _* j7 C- O
2、数组查询使用OR查询?比如,查询status等于0或者1的记录。
* s" L* a) ?6 H  m/ P$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
: Z+ Q3 c4 s6 d( B; f0 u7 O0 \' {2 EM("User")->where($where)->select();//查询status等于0或者1的记录
9 W' v, A+ a% J1 o" r  l
+ G2 D7 I: R: E3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。& L4 d3 b& D2 F% q4 z  x
$where['createdate'] = array('EGT',"2016-04-20");: P0 G2 S5 G& w0 i, y1 _+ w
$where['status'] = '1';* ~1 {" X6 x0 G; O1 ^: u" b6 P
$condition['_logic'] = "AND";/ e1 w: Z# ]. `3 c7 {# {* z
$map['_complex']=$where;5 K) w: U0 h+ ?/ t* L2 }
$map['level']='0';
6 ~) P- N" h( _, b' o  g$map['_logic']='OR';
0 E3 G8 m. m5 z) Q( y$ _- a& }- y6 A+ EM("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录# }1 o; {& S3 X9 p2 q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-1-30 16:37 , Processed in 0.061647 second(s), 19 queries .

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