cncml手绘网

标题: where查询表达式 [打印本页]

作者: admin    时间: 2018-9-14 13:13
标题: where查询表达式
b、表达式查询: N7 ?# N9 l0 h. t% O% z" o0 w) r4 K
表达式        含义
1 c6 \3 D& b# Y- A: dEQ        等于(=)3 N; Z5 f9 F" i/ a6 c
NEQ        不等于(<>)* l6 ]: Z' i3 G& n: c+ V
GT        大于(>)
3 j% R; l4 |/ `2 |EGT        大于等于(>=)! T# e+ h$ b! s, m
LT        小于(<)
: ^3 P' y/ \% p$ L& hELT        小于等于(<=); Y' z6 z3 [8 ^$ v
LIKE        模糊查询" u% {6 n  M0 l6 v; k, ]2 A
[NOT] BETWEEN        (不在)区间查询
( u, l$ y. l, ~/ V# G6 m[NOT] IN        (不在)IN 查询
! M7 ]5 [/ q: |5 ?( ^EXP        表达式查询,支持SQL语法; z! Q3 |8 k' f) e
  Y. l" M4 r% \# ^5 @
9 d/ A2 z+ {1 d% m
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件% k( g2 b0 m9 F6 k% P8 H
M("User")->where($where)->select();//查询status为0的记录
" S3 V  A8 j& h: Z( T9 @9 g2 e4 X" P
3、where方法数组查询例子2 N5 a. J2 z: I* k6 @
1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。9 ]' b/ @6 x* z0 a3 L! @6 b
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件
& S4 x- ^2 c. N% M% K% yM("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录2 e% k1 `. I2 A
3 s3 s$ ^4 \" C* I. ^, m) {
2、数组查询使用OR查询?比如,查询status等于0或者1的记录。
5 ?1 V5 ]7 v  \) \! ?/ _- _$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件, `, W6 i( F5 u! x
M("User")->where($where)->select();//查询status等于0或者1的记录
, {! [% J- u6 |# c
  U& r5 Y- n, C9 h% {: C3 {3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。+ A9 l3 }+ Z. C3 N6 N6 j
$where['createdate'] = array('EGT',"2016-04-20");
  I$ b1 g* ]4 i( B9 \$ |; n$where['status'] = '1';
1 ]. Y5 Y7 C) M% H5 W- s$condition['_logic'] = "AND";$ D. H4 o& S& r# i3 g& Z* n' s
$map['_complex']=$where;4 x# P# h' p* X3 G/ w. }" g3 {
$map['level']='0';
% d( f( r1 g. ~; Y" v" W$map['_logic']='OR';0 V7 d+ e' X. V, S4 d8 N
M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录6 i9 x( w6 ~7 n! C, w  d0 ~" }7 l





欢迎光临 cncml手绘网 (http://www.cncml.com/) Powered by Discuz! X3.2