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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询4 ~: M5 J, i" @
表达式        含义  m/ o1 p7 r5 _, v: g% }
EQ        等于(=)
- ]+ w4 c* M* q$ l) p' @/ kNEQ        不等于(<>)- A4 w2 }* @/ }7 |8 m
GT        大于(>)2 v0 T  t% M7 T0 R" B1 O  I) r
EGT        大于等于(>=)
4 f2 j: X( K9 V* v: c* Y$ m7 ?0 nLT        小于(<)
1 W$ f8 u- E# n  Y. T0 vELT        小于等于(<=)
( g* Y& D  r  w" C7 rLIKE        模糊查询* O. B, Z/ ^# L( H- q
[NOT] BETWEEN        (不在)区间查询
. A5 m1 r! ?$ n[NOT] IN        (不在)IN 查询0 a" e- @) Q) G1 y" M/ E  Q7 ?, R
EXP        表达式查询,支持SQL语法
6 `% t3 F7 V+ m' D
* w8 O9 @0 y' d) P# t5 d  r. b+ C- V' s$ v3 @, M' U7 b: U
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件
" B( c& p2 b+ e* @# m7 {1 gM("User")->where($where)->select();//查询status为0的记录
) w/ k) t& _6 n5 {4 ~9 ]
7 O2 l/ ~8 J/ D/ {- v& ^3、where方法数组查询例子8 g( r  y7 O% G& Q
1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。
6 C8 d* F, j  k* ^2 G; g+ X$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件
* P0 @, Q" x+ R( c. @3 fM("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录
  `5 m% r( k# r$ T, k6 u
4 n7 }; z/ _. y0 a2、数组查询使用OR查询?比如,查询status等于0或者1的记录。/ y: f7 ?/ [/ A/ G/ O6 `3 n/ M! F( \
$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
) `0 q8 z3 S7 f, x$ Q% C$ x8 VM("User")->where($where)->select();//查询status等于0或者1的记录$ e5 h3 ]5 Z  V$ d( y7 d( q
& \) l3 `  p1 z5 U$ k
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。
0 Y' z4 B2 q; M6 A0 Y1 X$where['createdate'] = array('EGT',"2016-04-20");
; h. e2 t+ g# H; H5 P$where['status'] = '1';6 |0 }& h, ^5 `* ], [
$condition['_logic'] = "AND";( D. X. |, w! z/ F" D6 W2 c6 j
$map['_complex']=$where;: J+ j7 j! u7 T: V) _9 |! W( d4 A& T
$map['level']='0';' R4 D+ c0 v( j% R6 _# C6 I
$map['_logic']='OR';
/ z% j3 G+ M, E& |6 J( X' hM("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录. {) b- T+ b6 b9 i: h
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 10:52 , Processed in 0.078005 second(s), 19 queries .

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