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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询
. a, l4 g4 n4 f7 _* ]( a7 W表达式        含义9 V1 Y5 l* K1 W! \2 x
EQ        等于(=)
' [1 r  n6 d1 ~7 WNEQ        不等于(<>), [5 Q' ?3 U  M
GT        大于(>)
0 Z% z  w- H  _/ C# O) A! `" iEGT        大于等于(>=)) Y3 \8 c, [8 L% E: c
LT        小于(<)
  I( D- k# X8 ZELT        小于等于(<=)* c  J1 L9 N& F) a
LIKE        模糊查询
0 \* `9 D. O" X- u$ T( W1 [[NOT] BETWEEN        (不在)区间查询% ?% n  k1 D4 {1 W" W: A
[NOT] IN        (不在)IN 查询
8 j) }. S- ]. NEXP        表达式查询,支持SQL语法
, b+ v% f8 [: [7 E6 a1 V: ^9 u
- i, t- S% H3 I  F. _# Y' y, L3 W! r: l
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件5 E  q8 P5 b' ^1 b( ~
M("User")->where($where)->select();//查询status为0的记录/ T0 M+ P' Y& {4 {$ [% `# u

; [% B6 `9 h9 r7 Z. |3、where方法数组查询例子
! ], |/ L# |; h3 l+ t1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。3 H% O7 Y$ _# X7 X0 p% S' }7 G/ `# j
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件
1 {' g; h9 U4 \# r6 oM("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录# E$ b1 Z, z+ F7 F/ Y9 [; _( F
. G  _& x* o, B+ M3 N8 I
2、数组查询使用OR查询?比如,查询status等于0或者1的记录。, F+ a. Y3 i& j% z* T( M
$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
& H6 s6 o- u5 z7 sM("User")->where($where)->select();//查询status等于0或者1的记录
8 P, V$ b! K( f; g+ `- ]- z9 H9 I7 l4 _, E/ a
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。& V, Z" {1 `9 z4 [8 Q4 T, j
$where['createdate'] = array('EGT',"2016-04-20");
% L! L- b6 E# {4 x7 F$where['status'] = '1';
! I/ i5 u( w/ V4 l' v9 G# V$condition['_logic'] = "AND";0 {; \$ [; `. R- _4 S0 L9 D# f: d
$map['_complex']=$where;: i5 }7 {. |$ \7 E! w
$map['level']='0';2 U5 c4 o1 T: u$ f' ]1 d5 B
$map['_logic']='OR';) T& D$ p& C* _1 k( o; B
M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
7 o0 y! G+ T8 X6 C' W- L
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-5-2 13:33 , Processed in 0.066604 second(s), 19 queries .

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