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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-14 13:13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
b、表达式查询- u4 @1 c3 `, e7 O2 E3 {
表达式        含义
7 ]1 T' L% U: TEQ        等于(=)- C' z8 L$ _! j( y; `( r* G
NEQ        不等于(<>); h" }5 ?" o1 e! J
GT        大于(>)
  y2 z3 g; l; g* wEGT        大于等于(>=)
: G7 f' l% P9 m( d) c% K7 eLT        小于(<)6 X2 t5 g- z" H/ ~- b6 O! K
ELT        小于等于(<=)
# k: S7 W8 e) BLIKE        模糊查询
4 s/ L3 O% [$ _  u[NOT] BETWEEN        (不在)区间查询3 G+ y. G: ~% N0 Z: A
[NOT] IN        (不在)IN 查询
2 N' \% C$ c% m- R# MEXP        表达式查询,支持SQL语法
5 x  D9 ~9 |3 P) x7 _1 R5 [
; _; l3 S3 H. n. ]! ?( s* w7 y  {& G6 f3 r9 n
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件
5 r* X6 [& D& |" Y$ S( OM("User")->where($where)->select();//查询status为0的记录% _# \' A9 W  D, p

+ r1 o) c; j* h: B  v3、where方法数组查询例子" _5 m2 j6 B2 P" N" p
1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。6 u9 g5 }# T( k. f  F" O$ N2 Y
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件
: E# P% b; c1 J/ _M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录  I, u6 m+ E; a* I2 M+ f
$ n' a1 s, F9 l1 J+ w  z7 c, ~6 @
2、数组查询使用OR查询?比如,查询status等于0或者1的记录。  N! m9 g, j) ?& m
$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件$ D4 m/ X# m- `4 G: `0 q1 h: [
M("User")->where($where)->select();//查询status等于0或者1的记录' i1 \# F8 u: K! M0 `8 S& q) S
8 _3 F! i7 B5 C- U% q
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。
/ z% w- z0 G; ]6 G9 I6 ?# x" h$where['createdate'] = array('EGT',"2016-04-20");
; @3 p. [% X3 x& E) P, _2 E5 p# u$where['status'] = '1';( J# ?6 u8 ~9 h7 e, d- `. W' I
$condition['_logic'] = "AND";
& F" {* G' @4 C+ G  h; R6 I% R7 B$map['_complex']=$where;1 B" R' u5 {, g# E. R" C2 @* k
$map['level']='0';
1 D) w  j; K' @2 ^8 Y" K$map['_logic']='OR';
5 `/ o1 s' q) W0 sM("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录8 ~4 N2 _/ l; h1 C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-17 23:26 , Processed in 0.054210 second(s), 21 queries .

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