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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
b、表达式查询
+ V0 W; d4 l% ^( e4 R  V表达式        含义9 ^* A8 C# Q9 w# r* ~" W2 _0 J. C6 j
EQ        等于(=). F( b3 y2 `! m2 O7 g! y9 F( A
NEQ        不等于(<>)( B; n  u9 b* c" ^
GT        大于(>)! h0 S" o8 I* [/ g8 ]) A
EGT        大于等于(>=)
2 t5 o. \' I" n  b9 L) U: WLT        小于(<), N' _0 f; G( \" d& i
ELT        小于等于(<=)
5 f: x8 f# ^- X; ~/ a$ @LIKE        模糊查询
/ w  v- L5 O8 u* ]: Q2 {6 p7 z[NOT] BETWEEN        (不在)区间查询, v8 X& I- v# t7 `/ r! _3 R" i1 `
[NOT] IN        (不在)IN 查询) G. y( X/ Y( v2 X+ ?5 n, J- i
EXP        表达式查询,支持SQL语法
2 u* L& j" q4 J7 u& M
6 _1 Z1 O8 v/ B& o; N' R
: s) X! |. s9 J$ d' D% n$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件2 z+ C1 a' y# h3 u* ~3 L
M("User")->where($where)->select();//查询status为0的记录
8 V) r4 d7 i0 \' K/ W9 h& ^! b" I
. f5 X" C4 k6 T% i0 D3、where方法数组查询例子' j- {2 b( f. Q  q6 ]- _
1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。1 ~2 k0 P. K6 Y" |& x( k
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件" T2 L! h$ H! K* b: q( `' s. P0 l
M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录
7 j1 c8 Y" v+ |" e) K0 C7 J" R- ?8 I+ x" s! C" `* j
2、数组查询使用OR查询?比如,查询status等于0或者1的记录。
7 G6 {  `6 W5 D1 G8 F$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
% ^  A! F9 ]: x" MM("User")->where($where)->select();//查询status等于0或者1的记录
" d+ [: H6 E" k8 ?( ^& b5 a$ Z  l" \9 p. M! j. X& w; A- {
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。
3 m' J/ c8 O9 D( t( r: s$where['createdate'] = array('EGT',"2016-04-20");  [: Q9 l' g: a+ s5 P/ X/ ]; t
$where['status'] = '1';
$ ~* i0 x- m% b# u' r4 W6 v+ g$condition['_logic'] = "AND";7 n/ A+ p/ }/ B7 |, n3 T
$map['_complex']=$where;
. P6 d. J# A. M/ b8 a$map['level']='0';
) a! d+ N' [5 z) G$map['_logic']='OR';% q6 D/ m# U. @! ]% }% o7 D( c
M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
% D; w; {2 Z  {4 `3 w
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-17 21:47 , Processed in 0.057066 second(s), 21 queries .

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