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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询2 m/ N' j- n( r: M; [+ N
表达式        含义
, \# ^: x; s3 K1 T$ Q$ r8 IEQ        等于(=)) r8 ^1 Y+ w% F1 F
NEQ        不等于(<>)! G% a" |  o2 x1 X1 c% B
GT        大于(>)
; N8 b6 ~5 E# f7 j8 l: REGT        大于等于(>=): {/ W3 @4 `* d6 l0 N
LT        小于(<)
  @7 J  K7 C" H; y: `! x( ^ELT        小于等于(<=)' p! k, M6 \% O" p
LIKE        模糊查询9 ~) J# A# u8 A  D8 u/ ~; d
[NOT] BETWEEN        (不在)区间查询1 J# f6 U1 d' Z
[NOT] IN        (不在)IN 查询
' [+ C9 D0 A% iEXP        表达式查询,支持SQL语法
, G- }6 |! i+ z/ g
3 F# R/ r' Z6 h0 l2 ?& ^) `6 K
7 b! x5 I6 z: @) u) g$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件8 a0 R+ @) M* f* Z9 _! k
M("User")->where($where)->select();//查询status为0的记录) j# c. _1 U" b, w2 A
" e3 a3 h" ]0 ^# s- n- ?
3、where方法数组查询例子
; U2 p  N' |4 `" W5 n1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。
7 f+ ~6 ^8 L7 z: M" F- J3 u) i$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件
% b) x- p. m7 T, f! G- V; N6 TM("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录
% q, M4 R+ F+ O- }1 |5 G/ E4 `" P" V( {6 }# P* ?
2、数组查询使用OR查询?比如,查询status等于0或者1的记录。
! `. F) D" b# ]4 l$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件0 Q4 l/ T1 e2 i3 V( `8 u' m3 h
M("User")->where($where)->select();//查询status等于0或者1的记录1 V- d% \5 j5 v# N& F: t- ?- f# M
5 ~  Z+ s. {: @$ ?
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。& r5 [0 R+ k/ k9 {0 {
$where['createdate'] = array('EGT',"2016-04-20");! o" `) A3 \& j+ v8 j( a! x
$where['status'] = '1';* v7 y2 Y& `/ U& w8 q% P( A7 ]
$condition['_logic'] = "AND";- `2 }9 v% f  f# u4 y
$map['_complex']=$where;+ p4 \8 d$ t6 M' ^" V% r
$map['level']='0';
( n/ b% t/ [, a) |$map['_logic']='OR';! i$ d0 d9 U/ Y. O, ]
M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
1 k& N3 I* R1 r0 f2 c: ^) @0 J
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-6-20 00:00 , Processed in 0.063194 second(s), 20 queries .

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