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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询
, [5 l& @; d' }; @* C+ k表达式        含义
% _$ v0 Y: @2 n( S5 qEQ        等于(=)
1 h$ ^  R$ n, _0 ^7 Q' K9 ENEQ        不等于(<>)
& n$ X, E) q) b$ K! z- l4 o+ V, I3 `GT        大于(>)$ T/ n- J* J2 O% k" C
EGT        大于等于(>=)
3 U/ F( K( N  x! L' p4 R4 pLT        小于(<)4 Z% y2 M% m( @/ h: e$ J( |
ELT        小于等于(<=)* s: y; @. f+ w
LIKE        模糊查询
3 a, {" i4 a7 R: v2 E[NOT] BETWEEN        (不在)区间查询
$ j* t- m. Z, c[NOT] IN        (不在)IN 查询
1 h: _) B* d4 y' MEXP        表达式查询,支持SQL语法
% }8 }5 I) }7 \3 B) |: }
, ?9 k  h/ `2 ^  B, r" Y9 x2 f+ ]0 I; K* e
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件: u" Z3 f* {4 o0 E5 X
M("User")->where($where)->select();//查询status为0的记录
4 \0 Z" n. b& q) X, c! d1 f) H+ |4 P! b) H+ ?% k" T1 L
3、where方法数组查询例子
4 t" ?9 I" J) n' j3 s! E1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。4 q2 e+ j" N4 t/ ?1 J) q1 J
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件* |. J1 Z; G" n8 A& O; I( S
M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录
  Z5 j; {: W  {
* R8 V% X3 {, l2 R2、数组查询使用OR查询?比如,查询status等于0或者1的记录。$ `9 D; E7 P" @+ q: e  k
$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件! B4 u0 I+ X4 F3 d8 t2 r
M("User")->where($where)->select();//查询status等于0或者1的记录
# d& x% E$ m! m( a5 y) P/ C1 ]4 \5 d1 Y2 T+ O% T- Y# o
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。
: U! @/ g+ E  D) n; N! F$where['createdate'] = array('EGT',"2016-04-20");
* q+ }9 g6 O9 s6 R  V7 \$where['status'] = '1';
7 _$ m$ V. W* L- c$ `/ N$condition['_logic'] = "AND";3 O2 E. r# \* f, C% S4 ~4 `3 ]! d; C
$map['_complex']=$where;
- ]! ?2 t2 \; x0 O' d$map['level']='0';
. X7 C$ \4 t. c% M$map['_logic']='OR';
$ \5 d8 m4 c! }9 k% w  UM("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录8 X9 h1 i1 y" l! r
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-1-30 20:41 , Processed in 0.058897 second(s), 19 queries .

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