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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询$ A1 E+ N  S1 s$ |  E
表达式        含义; v7 R% m( q9 f. M' l
EQ        等于(=)
: q) T5 T. W" i0 b1 j, a( iNEQ        不等于(<>)
  }( s- F& a/ Q" o( FGT        大于(>)- g+ W  m* h* ]- \0 p+ |* B2 b
EGT        大于等于(>=)
# [0 d# b" H) ~; E/ y$ ?LT        小于(<)
% ]) K7 u4 m. ]! z6 G+ F/ sELT        小于等于(<=)
, j/ ^. m) w) l# t) _LIKE        模糊查询1 y, w$ Y: c7 s1 j. X. o: [$ }
[NOT] BETWEEN        (不在)区间查询9 m$ d7 \0 g& L! c' @
[NOT] IN        (不在)IN 查询
; H, ?/ d2 W( p4 p. vEXP        表达式查询,支持SQL语法) n- o; X7 X+ X# m3 C" n9 l

& n$ [  c5 M0 a5 y8 F5 h: j6 s8 d( R) @- D) H# {
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件
" z. F6 I/ h% w% u, JM("User")->where($where)->select();//查询status为0的记录
, A3 p# a1 C1 w8 D% v
2 [# c+ S0 B- N- J7 ^0 @! S3、where方法数组查询例子
& z1 M; }' k8 a$ U( C1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。3 r8 @1 L( O/ Q% ~) e! Y  f
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件# O; ?( R) U( |0 h$ ^( I5 q8 v
M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录. Z+ p* T! ^- F2 @+ o/ M
: t) _' b9 U& }0 q9 g4 w; f
2、数组查询使用OR查询?比如,查询status等于0或者1的记录。* L. C9 o$ Q, s- W5 d/ \+ s1 `5 c
$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件7 \; e! W: ^& |3 C
M("User")->where($where)->select();//查询status等于0或者1的记录
; ~8 \' t6 e! T" N4 G, |; H1 T5 P- G" |; `  {5 G
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。
5 J# p5 K4 @1 I1 i, K; k! m; q! o$where['createdate'] = array('EGT',"2016-04-20");
0 V: r5 D3 V* V# x3 c0 M7 s$where['status'] = '1';$ a( V: h- u# N, e
$condition['_logic'] = "AND";
) e! e' ]8 R7 M6 T9 W6 R& |* j$map['_complex']=$where;. L8 ]+ c  Z; x/ I! e2 w. G& |
$map['level']='0';
" A+ t6 z8 J: }  ?- q) r# e  i$map['_logic']='OR';
" d9 j" H1 l$ xM("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录  c1 ~) _" c/ z& z$ s
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-5-2 16:49 , Processed in 0.065933 second(s), 19 queries .

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