微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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',2,4')

           exp后面支持更复杂的sql表达式       $map['id']=array('exp','in(1,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语句中代替当前模型对应的表名

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐