查询语法

使用格式

  1. where('字段名','表达式','查询条件');
  2. whereOr('字段名','表达式','查询条件');

表达式

表达式含义
eq 、=等于
neq 、<>不等于
gt 、>大于
egt 、>=大于等于
lt 、<小于
elt 、<=小于等于
like模糊查询
[not] between区间查询
[not] inin 查询
[not] null

几个特殊的

表达式含义
day 、=时间区间或天数
now当前时间
start相当于 like xxxx%
end相当于 like %xxxx
contain相当于 like %xxxx%
is如果参数不是数组或数组长度为1 相当于= ,如果数组长度大于1 相当于 in
not如果参数不是数组或数组长度为1 相当于! = ,如果数组长度大于1 相当于not in

用法示例如下:先说几个特殊的

day:时间区间或天数

  1. //第1中使用
  2. //表示create_time>最近两天的
  3. where('create_time','day',2);
  4. 等于
  5. $time=strtotime(date("Y-m-d",time()));
  6. $time=$time-$day*24*60*60;
  7. where('create_time',>,time)
  8. //第二种使用
  9. //使用时间区间
  10. where('create_time','day',['2017-11-09','2017-12-10']);
  11. 这用使用在后台的查询最近几天的+时间区间的检索中使用比较多

now:当前时间

  1. //创建时间小于当前时间的
  2. where('create_time','<','now');
问:为什么使用now 而不使用 where('create_time','<',time())?答:有时查询是需要使用缓存的 而 time() 每次都会变缓存是无效的,使用时根据实际情况注意缓存的有效性

start


  1. where('name','start','rap');
  2. 相当于
  3. where('name','like','rap%');

end


  1. where('name','end','rap');
  2. 相当于
  3. where('name','like','%rap');

contain


  1. where('name','contain','rap');
  2. 相当于
  3. where('name','like','%rap%');

is :


  1. where('title','is',[1,2]);
  2. 相当于
  3. where('title','in',[1,2]);
  4. where('name','is',[1]);
  5. 相当于
  6. where('title','=',1);
  7. where('title','is',1);
  8. 相当于
  9. where('name','=',1);

not :


  1. where('title','not',[1,2]);
  2. 相当于
  3. where('title','not in',[1,2]);
  4. where('name','not',[1]);
  5. 相当于
  6. where('title','!=',1);
  7. where('name','not',1);
  8. 相当于
  9. where('name','=',1);

eq :等于(=)


  1. where('id','eq',1);
  2. where('id','=',1);
  3. where('id',1);

neq: 不等于(<>)


  1. where('id','neq',1);
  2. where('id','<>',1);

gt:大于(>)


  1. where('id','gt',1);
  2. where('id','>',1);

egt:大于等于(>=)


  1. where('id','egt',1);
  2. where('id','>=',1);

lt:小于(<)


  1. where('id','lt',1);
  2. where('id','<',1);

elt: 小于等于(<=)


  1. where('id','elt',1);
  2. where('id','<=',1);

[not] like: 同sql的[not]like


  1. where('name','like','rap%');

[not] between :同sql的[not] between


  1. where('id','between',[1,8]);
  2. where('id','between','1,8');

[not] in: 同sql的[not] in


  1. where('id','in',[1,5,8]);

[not] null :


  1. where('title','null');
  2. where('name','not null');

上一篇:基础使用   下一篇:查询操作