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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询
. k- U% k0 Y" W$ F9 h/ J/ m$ X, |! g表达式        含义$ k' x% x* M3 y* [6 x5 ?0 k
EQ        等于(=)
% @9 F, m" f) z7 XNEQ        不等于(<>)  e7 |+ }7 y' i8 |3 b
GT        大于(>)
3 P6 ^( l9 K! ?  r0 a6 W0 a% x; jEGT        大于等于(>=). j* R2 t3 t% p8 H( r9 R' I
LT        小于(<)
/ H: V  W0 X( J0 kELT        小于等于(<=)
' A$ s! p) U* _  |# x2 N* k) YLIKE        模糊查询
1 U( h$ L& e( T2 S" y[NOT] BETWEEN        (不在)区间查询2 I# c# D3 r5 i3 P! r
[NOT] IN        (不在)IN 查询8 {, R. u" t. `( Y  H6 f( d6 b
EXP        表达式查询,支持SQL语法& ?& d3 X0 H) F
5 Q2 e; `! j$ m! V

4 y" N% L. {+ e7 @3 Q" j$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件
4 a, `( ]7 Y& y+ vM("User")->where($where)->select();//查询status为0的记录
! d+ J  t( _/ R5 {9 C, V4 A$ K; C: y1 L% B8 J4 l6 i# G0 k* J
3、where方法数组查询例子5 \* _  ^) v" Q; @5 R% d8 f
1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。$ K+ ?  A2 W$ D1 ]7 Z  W
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件  N& {# G- w( D. d2 e# ]( Z6 |( R0 G
M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录
9 C8 p( y5 L' b
( ]- j# K. a% j/ d' k) Y2、数组查询使用OR查询?比如,查询status等于0或者1的记录。4 P/ b0 L+ Z5 y. H
$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
$ a$ a& Y9 ~# ~$ U9 d( LM("User")->where($where)->select();//查询status等于0或者1的记录% a4 n) L. {. R- x

$ S! ~5 O7 n% B0 b5 Z3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。) ~7 X- T5 s5 K# L
$where['createdate'] = array('EGT',"2016-04-20");2 k- W6 R' M2 v6 U
$where['status'] = '1';. F" D$ G2 `4 \2 C
$condition['_logic'] = "AND";
7 O" k/ N; U: Z+ v9 o' u; k" D$map['_complex']=$where;
& h; O. d0 c* u$map['level']='0';3 a. F1 E& {7 H' y2 h+ O
$map['_logic']='OR';+ {" m9 J! `. `& @/ R
M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录* R; O4 T5 G) ~$ z& q1 f
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-7-20 00:32 , Processed in 0.067821 second(s), 25 queries .

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