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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询5 {+ M: P2 F  b! H. w& w- a& ~
表达式        含义
3 m& J8 {- ?: W+ REQ        等于(=)" Q' i+ Z$ @4 f: k" P
NEQ        不等于(<>)6 c5 t0 S7 J5 i
GT        大于(>)% I6 @) w9 p$ E- j3 U8 |
EGT        大于等于(>=)
8 u9 Y, Q3 |& C# b) Q( XLT        小于(<)
" O8 [, v% V: c$ wELT        小于等于(<=)& H! V8 E7 t5 J4 k) s3 x* I
LIKE        模糊查询
# f3 c  i( ^/ K8 A5 v9 _& a[NOT] BETWEEN        (不在)区间查询
& }, l+ W' W& Y[NOT] IN        (不在)IN 查询
7 g! V) I: r' l! X- F7 wEXP        表达式查询,支持SQL语法3 q$ v& k) C$ I9 g" {/ x* g
) i% `5 O+ X& m3 Z0 R1 g! M* r6 s5 g" p

! f% X! r: k. F3 r$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件
& j$ {( n$ o/ U+ [* C8 JM("User")->where($where)->select();//查询status为0的记录* h; v5 ~7 V3 v, @

% H  C6 i" `1 c1 ^: \( B2 l% a3、where方法数组查询例子
. i: H0 Y0 O6 S& u1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。. f1 ^* A2 A4 @" F- x' a( @" j
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件
" ?4 \0 P( o5 j7 s' S8 B4 W7 ZM("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录  ^; n, C9 e& B- A$ W

! W# v' X! i  ]2、数组查询使用OR查询?比如,查询status等于0或者1的记录。& H* j/ o, w0 Y6 u- _
$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件) z. B" I! U+ p
M("User")->where($where)->select();//查询status等于0或者1的记录: r5 K7 W7 {: @( ~/ l% `
. G8 b( n( N- E3 ?. ^7 }
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。$ u+ N, M- t3 _0 Y, P$ C9 L2 m" H9 f
$where['createdate'] = array('EGT',"2016-04-20");  d4 \$ h+ n/ ?
$where['status'] = '1';
3 d8 c6 n$ Z; V/ q- `$condition['_logic'] = "AND";& c+ c- X9 P4 D8 g1 R
$map['_complex']=$where;& E! d3 p: ?" p* a5 T6 q
$map['level']='0';
* R1 V* Q- B8 S5 T0 v$map['_logic']='OR';- `! d% e- ~! y( D$ P
M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
6 E# c" \6 {1 T) _4 p
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-22 20:21 , Processed in 0.117267 second(s), 19 queries .

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