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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询
) F4 D$ D( G  o( ]5 a8 T表达式        含义
6 s, P) S& I0 C) s% u# j$ sEQ        等于(=)
% M( R( {# [" x: _6 W. }NEQ        不等于(<>)
& P' O: g% i' r" `GT        大于(>)
( a8 k9 |) _8 M- GEGT        大于等于(>=)
, D, P. Y" C% @1 E7 A9 s$ HLT        小于(<)0 @  X, n# B2 k3 v9 w( }. z- T
ELT        小于等于(<=)0 F, k0 f7 L) D
LIKE        模糊查询: D& i7 ?% V. H2 [/ Z
[NOT] BETWEEN        (不在)区间查询
) i: ]! J  r- u' {1 c* H5 J- ^[NOT] IN        (不在)IN 查询
% i7 d( R8 L3 |5 U9 H5 REXP        表达式查询,支持SQL语法- x7 _7 `! n) F+ B" q0 @, X5 G4 e% L
1 G+ Q6 }, g  \

$ c$ ^1 M* W- w4 b$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件7 a: H1 F0 x% [) o& k# N* @
M("User")->where($where)->select();//查询status为0的记录5 S; ^  o3 Z" L% N/ N) m, ?4 y( E

" l( Q4 q8 h2 F4 ]3 s/ R; ~6 j4 A3、where方法数组查询例子
2 Z5 R7 D3 L; ~% H8 [$ O1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。
- K9 [: U0 U' `: B$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件' k: H) @2 P3 m' `1 H
M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录
: C; ~1 C/ O. D* ~/ E& h& r8 o: ~. l) z
2、数组查询使用OR查询?比如,查询status等于0或者1的记录。
# D+ P: O' d. o) W$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件. b( D7 O) o* J% _
M("User")->where($where)->select();//查询status等于0或者1的记录
9 A1 S8 P1 z( w- U/ d, C2 x/ }
; H5 n. J' m! N" M) e3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。; H* V6 \$ ?: Y. s$ K  e9 V6 C
$where['createdate'] = array('EGT',"2016-04-20");
' M0 p% l* n2 P4 S; x6 i* }$where['status'] = '1';
+ o: b5 B$ H. H0 E' s0 I# v$condition['_logic'] = "AND";
0 L* t/ t" |  {  u$map['_complex']=$where;
9 j5 o! ~; S1 @8 Z. e$map['level']='0';
9 M/ Z- z  M2 U" {$map['_logic']='OR';
3 x8 r- S) e' ]' g4 `M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
1 Y7 n4 |$ m% k( a) T4 u) p% b
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-7-21 10:33 , Processed in 0.066907 second(s), 19 queries .

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