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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询
& a8 x5 u% C6 L表达式        含义
' t3 R0 s, z/ [  h! C2 bEQ        等于(=)" g& L0 a0 o1 E) E5 \( V( b
NEQ        不等于(<>)
5 Y: @0 Z/ S. I0 l7 F; g8 P: ]  sGT        大于(>)
& w" z4 U$ F2 W9 z- p1 \: p  E8 h1 QEGT        大于等于(>=)
+ r( B6 J7 R5 R6 U+ pLT        小于(<)8 a1 Z3 |  D9 d1 X/ F+ S# B" D) Q$ u
ELT        小于等于(<=)% ], X& F' [6 I( ?
LIKE        模糊查询
' D  V' ^2 A% ]2 \; N2 a! b[NOT] BETWEEN        (不在)区间查询
1 V& n6 }9 }4 A$ t[NOT] IN        (不在)IN 查询6 Q1 N6 B4 \: Z( F& F  ?
EXP        表达式查询,支持SQL语法  H* Y7 \) z2 m* R* |- N) z! v, {9 x

  ?" S; C6 o  E2 l, O
' q! r. U* _+ d( S* H$ t( U$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件
# a1 D  K3 Q% F/ r8 N9 H% KM("User")->where($where)->select();//查询status为0的记录
. t- M, T$ E! u# s' b5 m$ T; L, U$ S& A5 V) f$ e9 n# V
3、where方法数组查询例子
$ x" K; N7 d! Q: N# h$ v( b1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。' O9 x9 k  {' B% L
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件
5 Z5 a. U( H& d, J. g, b! N3 CM("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录) _2 d. S% }7 c3 ^7 H+ q% n6 X

* Y0 n+ e# u" a+ Y. i2、数组查询使用OR查询?比如,查询status等于0或者1的记录。: ~2 Q' U! C, a3 J) L% n
$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
" |4 N7 M. P/ j+ XM("User")->where($where)->select();//查询status等于0或者1的记录
" ~; B; C( b/ Z( u( f3 H7 D$ i# O# W8 y) u6 Q( M5 l
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。& ^3 _. D* j! n  W8 t2 ~
$where['createdate'] = array('EGT',"2016-04-20");
/ n' ]# K+ j2 ^* g+ N3 ]/ v$where['status'] = '1';: O7 ^2 O$ y3 A9 m' B
$condition['_logic'] = "AND";
5 G- u7 ~4 ?1 Q9 m+ R$ U6 O$map['_complex']=$where;
5 X& n5 c' r  D9 D$map['level']='0';7 a' p. q% y4 N2 c5 J' y( F
$map['_logic']='OR';
8 K2 A5 }3 M+ C+ O, _M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
, F4 t* [  J: i, M  l: `
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-23 01:27 , Processed in 0.115821 second(s), 20 queries .

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