最新消息: 新版网站上线了!!!

thinkphp 查询条件组合实例

thinkphp查询
 查询表达式  $map['字段名']=array('表达式','查询条件');
    表达式有 eq等于 ,neq不等于,  gt大于, lt小于 ,egt/elt 大于等于/小于等于
           like类似                                        $map['name']=array('like','thinkphp%')
           [not]between [不在]在什么之间     $map['id']=array('between','1,8')
           [not]in [不属于]属于什么集合之一   $map['id']=array('in','1,2,4')
           exp后面支持更复杂的sql表达式       $map['id']=array('exp','in(1,2,4)')
 组合查询表达式,需要设置_logic
          $map['id']=array('eq',1);
          $map['name']='ok';
          $map['_logic']='or';
          $user->where($map)->select()
     还可以使用_string来设置条件
          $map['_string']='status=1 and score>13';
 复合查询,多个数组或对象组合成条件
           $where['name']=array('like','thinkphp%');
           $where['title']=array('like','%thinkphp%');
           $where['_logic']='or';
           $map['_complex']=$where;
           $map['id']=array('gt',1)
 统计查询
    使用thinkphp内置的一些方法
          $usercount=$user->count()   //获取用户数
          $usercount=$user->max('score')   //获取最大积分
          $usercount=$user->where('score>0')->min('score')   //获取大于0的最小积分
          $usercount=$user->avg('score')     //获取用户的平均分
          $usercount=$user->sum('score')   //获取用户总成绩
  定位查询
      需要继承高级模型类才可以使用
        class UserModel extends AdvModel
          $user->where('score>1')->getN(2)  //取的查询结果中的第三条记录
                                                   first();     //获取第一条记录
                                                   last();      //获取最后一条记录
   sql查询
      可以使用query方法执行sql查询语句,返回数据集
      可以使用excute()方法执行插入,更新等sql操作,返回影响记录数
      __TABLE__ 可以使用在sql语句中代替当前模型对应的表名

转载请注明:谷谷点程序 » thinkphp 查询条件组合实例