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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询
+ k' p% _: Y5 n9 ~) |, r; A表达式        含义: m6 }  Z1 z2 U" ^
EQ        等于(=)1 k3 W( e2 y  i7 f$ M, Q1 ^
NEQ        不等于(<>). y1 P/ T' L% |8 f- \
GT        大于(>)- s5 Z  X! {6 i0 T) a
EGT        大于等于(>=): a' Z( V9 e6 O5 W- P* _! T5 S
LT        小于(<)0 }. s% e# A) o
ELT        小于等于(<=)/ @5 Y+ |: k2 u: M, P/ Q( l8 L
LIKE        模糊查询
6 G: a7 J( g* R* U/ C% k( E[NOT] BETWEEN        (不在)区间查询# Z7 }% x+ Y0 l8 G5 ~. M
[NOT] IN        (不在)IN 查询/ Z9 M; g! S  |: ]/ O1 {% _
EXP        表达式查询,支持SQL语法
2 b  z- z$ G: j: S- z! r0 A
, V6 K1 D* u9 O) d; j/ N. Q4 h3 m9 f+ A! i4 }* x$ M" n& r
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件
; ?  P4 U) G3 S1 @3 C9 {6 yM("User")->where($where)->select();//查询status为0的记录
7 h8 A$ G9 U. u9 k' ~! N7 l  }6 e3 m6 C
& K$ h: p5 p- E& k3、where方法数组查询例子
9 `3 T  R; ?  P* ~1 i3 {5 ~1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。
& A& O/ E, o$ s+ m9 E2 e$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件
2 f- e: N$ ?9 m/ SM("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录
/ a$ F+ x: _6 \: T) i8 E
6 W6 g' \, C. \& _) T1 j! h$ X2、数组查询使用OR查询?比如,查询status等于0或者1的记录。
3 Z( G- k- G& }2 Z! Y) V- D$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
; ?3 F" v& Y( `9 @' j4 y3 Y& WM("User")->where($where)->select();//查询status等于0或者1的记录* v' n0 @- Q; S4 Z0 j2 j: b
7 P6 D# l  D) K* Z
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。
/ x# q) B4 H: C3 M% @( ^$where['createdate'] = array('EGT',"2016-04-20");) s. ?/ N9 }/ J
$where['status'] = '1';
) R' u2 q3 E1 E/ J6 P$condition['_logic'] = "AND";
, ], E+ e  ?1 h! a5 K8 c0 J$map['_complex']=$where;
% N& v6 @" V8 ?) `% n$map['level']='0';9 {/ a( L+ F2 W* w
$map['_logic']='OR';
( I* S5 b6 v0 fM("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
! o2 Q: h5 Y3 }" V4 s" P% @& }4 c& T
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 10:10 , Processed in 0.056665 second(s), 20 queries .

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