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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询
: k3 ]* |1 v$ e/ K8 o# }# t' u表达式        含义
: H: T9 m# ]3 O3 t; F4 REQ        等于(=)
" Q6 J0 f3 @5 o% w/ v+ w" {! xNEQ        不等于(<>)
( X; |  B8 o* ]& G; A- N" a4 rGT        大于(>)
+ A$ z- V% _, C  ]1 C* M3 dEGT        大于等于(>=)" ~3 p7 L! t" k( ?$ @5 [
LT        小于(<)
2 z' A, p# `- i* eELT        小于等于(<=)
. }: v& t" L) S+ C3 DLIKE        模糊查询' D4 A7 V  r* e8 l" w, B
[NOT] BETWEEN        (不在)区间查询& P) X. U: t' n7 e1 x' M' \
[NOT] IN        (不在)IN 查询! w) g* b4 Z# r/ P/ {8 i3 l
EXP        表达式查询,支持SQL语法
# e0 O! q# {. K7 c/ p
0 F/ I' N! ~/ x3 S5 F& s
/ @3 ]7 p" S& n) [) X1 c& n7 Y4 @$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件( \8 X0 v4 `9 w% C( R9 p7 }6 S
M("User")->where($where)->select();//查询status为0的记录; ]: }/ D' @6 ]* L( k4 M* Y

7 t1 j7 q4 ?+ z( o! J& c3、where方法数组查询例子
+ N- I( N5 t3 {1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。
/ a& w4 {0 i4 A& H$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件; E4 N& K8 ~9 s7 H
M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录: Q2 p, t9 F8 h8 @  P0 F1 T
* j/ p5 S# @% X  {- f& v8 ?$ B& a
2、数组查询使用OR查询?比如,查询status等于0或者1的记录。
* _- y6 y+ _) Y: M3 S$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
5 E9 m5 l+ U. B# |M("User")->where($where)->select();//查询status等于0或者1的记录
9 w: u. f, h) X$ _
/ O5 c8 \" m# F3 B; N3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。
' r3 j" ^4 ~5 ]$where['createdate'] = array('EGT',"2016-04-20");$ p: n/ P0 P0 x+ _+ T7 O, e' X
$where['status'] = '1';+ ^0 l1 H4 [6 q: `* t5 D+ o
$condition['_logic'] = "AND";
% b2 l+ p& A/ S5 i$map['_complex']=$where;/ n+ s$ M. O( _* n# O
$map['level']='0';
7 {+ E& R0 A5 @* u6 f( c- A$map['_logic']='OR';0 d% p6 ?4 n8 @5 C
M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
" K  r1 a! t/ l5 R: t
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-20 06:26 , Processed in 0.115384 second(s), 19 queries .

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