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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询
# S* o; T6 W. `+ i2 s1 X% d表达式        含义
4 ~  a9 W, q" h4 tEQ        等于(=)
6 X6 {. ]0 |. Q* zNEQ        不等于(<>)! A. r3 B% l8 E% n
GT        大于(>)
$ q5 T' M7 O" t8 {  MEGT        大于等于(>=), h6 L& h" Z9 ~! [4 e- q' w
LT        小于(<)
& k: m& ^4 l( m* C. U( ^" p- Z/ ]ELT        小于等于(<=)
7 t# j- N' e1 [' A7 ?LIKE        模糊查询7 i: c( M! H) Y
[NOT] BETWEEN        (不在)区间查询
/ K: @: ~# m) i% S# @/ ~2 N[NOT] IN        (不在)IN 查询. O* X/ D% h" V# p1 V0 Y2 h
EXP        表达式查询,支持SQL语法
# J: N  H; I& Q8 j! n9 g- r6 a9 Z0 j' V7 \1 C( q( v2 M, i
0 \( o7 E. _4 R$ v# v9 f+ |* [+ z
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件# w# a7 E  Z  F; I) j- E
M("User")->where($where)->select();//查询status为0的记录8 ]' e5 u' q% K! N
% X' }2 }  E* i/ P$ K" w4 k
3、where方法数组查询例子
4 |+ M7 l  A6 i6 Q2 R8 G! A1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。% F9 ~& Q- V) |
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件
$ u* A0 b- T' h% h) WM("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录1 p) z# K2 F# X0 S

( [" t5 K& M" Q7 W2、数组查询使用OR查询?比如,查询status等于0或者1的记录。
. C' `( ]( l5 s/ O1 c; o( B9 W$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
5 R! x( H/ V8 C$ ~4 tM("User")->where($where)->select();//查询status等于0或者1的记录2 ]/ P, z9 a4 U  V9 v1 M7 F
* u' f" S$ S/ m7 Z$ h" S* D
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。
' U- `& u9 I8 B: K  `9 `5 `$where['createdate'] = array('EGT',"2016-04-20");6 h3 V8 R' \6 x5 h. o
$where['status'] = '1';
; V) Z2 C/ {: `* D3 G2 l$condition['_logic'] = "AND";$ j5 B/ g' D3 i* _0 F3 N9 s+ p. I
$map['_complex']=$where;
; d5 B3 D; {) }3 U) i$ D# i$map['level']='0';# ]% k& n2 W4 o" [6 e
$map['_logic']='OR';
7 N) G* c# X4 K+ {- i; LM("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
$ n" q& @) i6 m8 i3 o) v
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-7-19 15:53 , Processed in 0.066783 second(s), 19 queries .

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