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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询" H# f. L) F' Z) o) F/ Z# s3 |
表达式        含义
# O9 @2 S, O, w) Y; |% ^3 }! _  q# W, PEQ        等于(=)
: u" j" ~' T2 A8 {1 J) m8 CNEQ        不等于(<>)
2 `! ]' [- A& A4 Y3 d& _GT        大于(>)
  J' }2 D* X0 v3 m# N$ tEGT        大于等于(>=)
3 t1 p+ U. r8 l, z; _) pLT        小于(<)& ?& N$ V# x8 k7 x
ELT        小于等于(<=)/ ]$ t) t4 A" A
LIKE        模糊查询
' N! W! c, l. r7 p1 Q3 @[NOT] BETWEEN        (不在)区间查询
) f- Z! p; V( T[NOT] IN        (不在)IN 查询* d6 q# e1 t% g# ]) Y0 D! d
EXP        表达式查询,支持SQL语法( \3 `- B8 j+ V6 {% I5 ~- \

7 K4 ^" F# C/ r& U" S
" N: s. Y6 J2 n+ y, V3 x$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件
* o# ]3 `' h% @' u6 t# z1 N: jM("User")->where($where)->select();//查询status为0的记录. ]: M: |) H2 ?3 t6 f& w& W+ Y" T

/ l6 w# @, b$ ?4 M8 a! h3、where方法数组查询例子7 ^: t. j% n& p0 n
1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。* G- a2 `. |! u3 f3 n" C
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件
# p8 z' L" ^, M4 H; }; |( ZM("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录/ [% o+ c* t  y) J/ |7 C; H- n

/ X( Q- c3 q2 u2、数组查询使用OR查询?比如,查询status等于0或者1的记录。
$ U: I1 \$ L5 X: A9 Q$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
) ~0 h, s7 g, Z6 Z' q5 DM("User")->where($where)->select();//查询status等于0或者1的记录
4 w) ~( t# M( F. S; n9 ]
5 z4 u* @0 }- n3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。6 c6 G, J! C2 G5 M! m
$where['createdate'] = array('EGT',"2016-04-20");
" `0 ^5 B# [+ m$where['status'] = '1';) z7 X6 f4 k6 \+ @; b; J% T1 G
$condition['_logic'] = "AND";
1 e# L, ?  ^' w$map['_complex']=$where;
  e+ g( O& A, v% `  ]$map['level']='0';9 A5 W& R7 Q6 q; }/ j
$map['_logic']='OR';
& T3 d9 K& K7 g+ j  P" I. z/ X1 _0 zM("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录2 n/ h* H. T, O1 l* N: [" |
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-6-4 09:33 , Processed in 0.080627 second(s), 22 queries .

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