• 查询语法
    • 使用格式
    • 表达式
    • 几个特殊的
      • day:时间区间或天数
      • now:当前时间
      • start
      • end
      • contain
      • is :
      • not :
      • eq :等于(=)
      • neq: 不等于(<>)
      • gt:大于(>)
      • egt:大于等于(>=)
      • lt:小于(<)
      • elt: 小于等于(<=)
      • [not] like: 同sql的[not]like
      • [not] between :同sql的[not] between
    • [not] in: 同sql的[not] in
      • [not] null :

    查询语法

    使用格式

    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');

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