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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询
/ h* Y  V& j  }2 v表达式        含义5 K. ^1 v1 X! |8 J  f7 Q
EQ        等于(=)
" U4 p9 x1 q4 t/ cNEQ        不等于(<>)
+ W- R( g7 R2 X6 Y2 h, a- w* j% {+ WGT        大于(>)
8 R* ~7 N/ V1 ?* ~, h( G8 X) zEGT        大于等于(>=)' e% Y$ e+ C3 T: i
LT        小于(<)
0 Z9 N/ B) M' S1 \7 B1 p1 @ELT        小于等于(<=)
, q+ b  h6 H! wLIKE        模糊查询. Y1 V& h+ K+ ]' U) c$ o9 ^
[NOT] BETWEEN        (不在)区间查询8 O' ~) t9 D) z9 y. G
[NOT] IN        (不在)IN 查询
: A! Y2 H0 p1 q% `6 Q  ]6 K: hEXP        表达式查询,支持SQL语法* I. S* Y/ C5 p# Q1 x
" J% M& h5 ^1 `- c. n- ^
- l4 z8 }) Y! @& c6 d7 ]
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件
" ^' c4 `/ ]8 _- O5 d3 GM("User")->where($where)->select();//查询status为0的记录- W( z; e2 h/ r/ [) q9 D
: S; g" A/ c9 [9 c
3、where方法数组查询例子0 X4 l* f3 k' [- X3 u' R
1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。
3 ?* u4 d' l5 I% m$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件# R: O0 S* U2 `* O' U
M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录
' G; H4 B: C" C+ d
6 O' C0 e' k9 k7 L! u# r1 U+ }2、数组查询使用OR查询?比如,查询status等于0或者1的记录。6 l1 M* j9 b" J2 B- n: B
$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
' Y% m7 o9 c% j% x  B2 w% CM("User")->where($where)->select();//查询status等于0或者1的记录3 e" J  S; i! G2 B
1 \4 ~1 L0 R4 P
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。( W4 i/ N4 p, j$ S& l
$where['createdate'] = array('EGT',"2016-04-20");
; U% {' z& W' \9 R$ D$where['status'] = '1';/ |% p; a! s! p* ?5 g  p
$condition['_logic'] = "AND";& Z4 w) I# t: k# b
$map['_complex']=$where;
$ c+ y+ [, ]2 l; q% D$ }1 G$map['level']='0';
: k6 R" {1 @2 e, k$map['_logic']='OR';( I0 z  b+ E; s+ N) r1 e
M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
7 y7 n5 o  l$ M' `% ~  \
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-17 11:02 , Processed in 0.104301 second(s), 19 queries .

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