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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询
% t% [3 ]" b9 \4 }/ t1 ]( X9 W表达式        含义0 F. `; F2 l$ @+ {" O
EQ        等于(=)
! U5 p- Y5 B  b) QNEQ        不等于(<>)
, D! x+ E9 c9 sGT        大于(>)
8 C3 N; q- V  n# DEGT        大于等于(>=)
4 e: J3 X( t: Z3 \: |  vLT        小于(<)7 ]  U% }; v3 E: ^" C0 |1 D
ELT        小于等于(<=)
0 G3 l$ O  v' VLIKE        模糊查询5 \% {6 F8 W* R' S  W& y- k
[NOT] BETWEEN        (不在)区间查询$ a: b. w6 z1 ?
[NOT] IN        (不在)IN 查询5 Q' \$ m4 u. \0 R0 S
EXP        表达式查询,支持SQL语法1 }% ^3 s( q0 T
5 z: Y. C' b" x( z  q/ Z" i
- N& f3 l4 U! E: v6 @1 V
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件7 y- n: s& m9 v/ e) m! n
M("User")->where($where)->select();//查询status为0的记录  |) v+ I; B, }! L: E
' O' S/ E4 X' v3 m
3、where方法数组查询例子
8 a' s( }, P. J! U" M& n6 I0 J1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。( @. o% i9 w4 u  ]1 Z  a" \
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件* ^2 l2 f- p6 X
M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录: C6 |' A- E$ `' d: E% R

: Z% _* D9 o9 Q% y" K2、数组查询使用OR查询?比如,查询status等于0或者1的记录。
0 z$ Z: z( q" N0 I' ~$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
; a+ z- @% d5 I% b8 h- x# oM("User")->where($where)->select();//查询status等于0或者1的记录/ A  ?3 z2 r% g- K  H
) C/ a- i7 t2 ^/ X' P2 c( ~( ~  Y, a
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。
$ B. T( _' m0 q2 w$where['createdate'] = array('EGT',"2016-04-20");+ v% [7 ^# W9 E: [( w( U& i! q
$where['status'] = '1';
2 m4 h  q* x" _; K) z$condition['_logic'] = "AND";! L% N: F- B7 B) q# [  f7 E
$map['_complex']=$where;  Y5 R8 a. t" k6 n
$map['level']='0';
5 {- a' G9 Y* u2 Z  f1 V8 M4 |# x$map['_logic']='OR';8 S; i+ b0 M4 \& |
M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
1 g8 v; B5 P- h/ w7 [7 Y  i  g
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-20 10:59 , Processed in 0.112788 second(s), 19 queries .

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