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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
b、表达式查询
0 ?' B: _/ [5 Y! Q" |* F表达式        含义
# h" L0 o# x: \& F3 uEQ        等于(=)& ~2 [4 \' E! `& ~" {
NEQ        不等于(<>)
1 ~) R4 d+ W1 p4 ?GT        大于(>)/ ]" G: @% l8 f2 `( n- s! s6 L
EGT        大于等于(>=)
- I7 T8 I* F5 \/ q& ]! OLT        小于(<), \+ d9 |# k# }5 f. }1 B
ELT        小于等于(<=)( A: E& W" K, W+ N- F/ f' `, O9 Q
LIKE        模糊查询
% y# t' Y( e, g# T/ @[NOT] BETWEEN        (不在)区间查询
" F% @5 a7 K+ b& Y3 B[NOT] IN        (不在)IN 查询
; a* f- [2 Y  v( z" iEXP        表达式查询,支持SQL语法/ `+ Y5 k' b; Q
6 A: [- e1 G4 N. m

2 [. _* p! E  N  l- w7 D! w$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件: N- b/ \- b2 _/ p2 m7 C
M("User")->where($where)->select();//查询status为0的记录
  N2 Q/ U6 g" J4 f" _1 _) F- N/ X$ s9 v
3、where方法数组查询例子0 V8 H% d4 m9 J8 o; j; o2 g) W
1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。
5 E0 v- [, R! s( s/ j$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件
( o/ \2 l/ A, z/ M. ]9 oM("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录
) d( q9 I# P. A  ~/ c& F
% Q: g: I4 z1 p( X2、数组查询使用OR查询?比如,查询status等于0或者1的记录。: X( R5 h+ ]& B6 U& L% z. g
$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件+ E2 m7 C$ Y! M
M("User")->where($where)->select();//查询status等于0或者1的记录
9 @/ G# t) `6 r/ K; t8 l( y4 w
" W4 Z& b2 w& L7 N. T3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。
' g; f) }$ T0 w$ q* v1 A" q$where['createdate'] = array('EGT',"2016-04-20");
* Y* L$ e! y8 s3 j; }" K" o2 Q$where['status'] = '1';7 X) ?1 ?7 T5 F7 S; ?- l1 L
$condition['_logic'] = "AND";
2 j) D  \, u( c$map['_complex']=$where;8 B, c3 l+ D& z! M6 |& j
$map['level']='0';/ O) Q, I( r, Y: b+ Q1 h# @
$map['_logic']='OR';, D( }# E* ~$ v1 d2 e  o5 r# N
M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
, y6 h& b! A; {! Q% x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-20 04:29 , Processed in 0.103044 second(s), 20 queries .

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