管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
b、表达式查询
9 V! d+ Y5 _( p8 i& t0 ]表达式 含义, N. P8 B4 s) \% r! g
EQ 等于(=)9 z. U! r0 @* B6 w
NEQ 不等于(<>)
! j6 U$ }' T( F# d E" [0 @4 QGT 大于(>)( v3 X/ ~. L1 h1 K t
EGT 大于等于(>=)
1 P4 N+ ?4 _# q- N( kLT 小于(<)* a0 h% ] H% ]3 q# ?5 P4 T% c, T
ELT 小于等于(<=)3 c( C) c$ M7 d1 h' _
LIKE 模糊查询
: D! X+ S' w- p[NOT] BETWEEN (不在)区间查询) s0 N8 P& `+ L: y
[NOT] IN (不在)IN 查询
0 b3 B; H& { E! `" SEXP 表达式查询,支持SQL语法6 G' H4 E+ z9 P; j0 s, e" s
: b+ A6 q1 M; B3 y$ B, O6 d4 K* w* i# C
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件
" a: x# f" J% `. q/ y) JM("User")->where($where)->select();//查询status为0的记录2 K1 ^7 A0 \* L+ v
: l( X6 p, o. q7 Q5 o0 V
3、where方法数组查询例子8 W9 [$ }& k6 o$ s
1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。5 i! R9 O7 g7 \5 b6 K, K; d/ a
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件
/ v1 @( J" b, S( ?% VM("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录4 S0 r1 `' C) Z8 `* C) C
5 c% E6 ?$ q# \* ~5 z" r, ]
2、数组查询使用OR查询?比如,查询status等于0或者1的记录。
" S3 O. A' g+ N$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
i& \9 L% H. K$ AM("User")->where($where)->select();//查询status等于0或者1的记录
5 Y& T# J% i8 h! P: n* M9 k2 o$ i+ h3 v6 `6 y- y/ c- K1 V
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。
2 @' _1 C6 {% x- w$where['createdate'] = array('EGT',"2016-04-20");
+ M" \6 K' b; y1 ~* f) ]! i$where['status'] = '1';
, V0 Q: O9 a7 i4 W; k$condition['_logic'] = "AND";+ P! p7 p, q: V2 E/ x* P+ |, Q [
$map['_complex']=$where;1 @. y" S) n6 O6 a. v7 G$ F! S
$map['level']='0'; V" A9 M5 {; [% k0 J5 g4 S
$map['_logic']='OR';
0 G) @) p, P" i4 E+ L+ o3 SM("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录- Z& S6 {' t% y3 A( G7 q
|
|