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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询
9 V! d+ Y5 _( p8 i& t0 ]表达式        含义, N. P8 B4 s) \% r! g
EQ        等于(=)9 z. U! r0 @* B6 w
NEQ        不等于(<>)
! j6 U$ }' T( F# d  E" [0 @4 QGT        大于(>)( v3 X/ ~. L1 h1 K  t
EGT        大于等于(>=)
1 P4 N+ ?4 _# q- N( kLT        小于(<)* a0 h% ]  H% ]3 q# ?5 P4 T% c, T
ELT        小于等于(<=)3 c( C) c$ M7 d1 h' _
LIKE        模糊查询
: D! X+ S' w- p[NOT] BETWEEN        (不在)区间查询) s0 N8 P& `+ L: y
[NOT] IN        (不在)IN 查询
0 b3 B; H& {  E! `" SEXP        表达式查询,支持SQL语法6 G' H4 E+ z9 P; j0 s, e" s

: b+ A6 q1 M; B3 y$ B, O6 d4 K* w* i# C
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件
" a: x# f" J% `. q/ y) JM("User")->where($where)->select();//查询status为0的记录2 K1 ^7 A0 \* L+ v
: l( X6 p, o. q7 Q5 o0 V
3、where方法数组查询例子8 W9 [$ }& k6 o$ s
1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。5 i! R9 O7 g7 \5 b6 K, K; d/ a
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件
/ v1 @( J" b, S( ?% VM("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录4 S0 r1 `' C) Z8 `* C) C
5 c% E6 ?$ q# \* ~5 z" r, ]
2、数组查询使用OR查询?比如,查询status等于0或者1的记录。
" S3 O. A' g+ N$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
  i& \9 L% H. K$ AM("User")->where($where)->select();//查询status等于0或者1的记录
5 Y& T# J% i8 h! P: n* M9 k2 o$ i+ h3 v6 `6 y- y/ c- K1 V
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。
2 @' _1 C6 {% x- w$where['createdate'] = array('EGT',"2016-04-20");
+ M" \6 K' b; y1 ~* f) ]! i$where['status'] = '1';
, V0 Q: O9 a7 i4 W; k$condition['_logic'] = "AND";+ P! p7 p, q: V2 E/ x* P+ |, Q  [
$map['_complex']=$where;1 @. y" S) n6 O6 a. v7 G$ F! S
$map['level']='0';  V" A9 M5 {; [% k0 J5 g4 S
$map['_logic']='OR';
0 G) @) p, P" i4 E+ L+ o3 SM("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录- Z& S6 {' t% y3 A( G7 q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-5-1 00:51 , Processed in 0.060423 second(s), 21 queries .

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