ThinkPHP学习笔记(九)Thinkphp中的查询方式大综合

来源:互联网 发布:java mongotemplate 编辑:程序博客网 时间:2024/05/17 22:00
<?php/** * 普通查询 * 1.字符串形式 * 2.数组形式(推荐形式) * $user=M('user'); * $data['username']='user'; * $list=$user->where($data)->select(); * 3.对象形式 * $user=M('user'); * $condition=new stdClass(); * $condition->username='user'; * $list=$user->where($condition)->select(); * 判断条件:(太多)查询表达式:5.3. *eq(相等)、ne(不相等)、neq(不相等)、gt(大于)、lt(小于)、elt(小于等于)、 *le(小于等于)、gte(大于等于)、ge(大于等于)、 *like *[not] between *[not] in *exp 执行标准sql语句 * 区间查询 * 组合查询 * 复合查询 * 统计查询 * 定位查询 * sql查询 * 动态查询 * */class SelectAction extends Action{public function index(){   $user=M('user');////1.1数组查询(可以使用查询表达式来设置获取范围)////DB_LIKE_FIELDS=>'username,password';(自动进行模糊匹配)//   $data['username']=array('like','us%');//   $data['id']=array('between','0,10');//   $data['id']=array('not between',array('5','10'));//   $data['id']=array('in','5,8,10');//   $list=$user->where($data)->select();//$date['id']=array('exp','in(0,2,3,7)');//$date['createtime']=array('exp','createtime+1');//   $list=$user->where(array('id'=>1))->save($date);//   dump($list);//   //1.2对象形式//   $user=M('user');//   $condition=new stdClass();//   $condition->username='user';//   $list=$user->where($condition)->select();//   dump($list); //2区间查询//$data['id']=array(array('gt',3),array('lt',10));//$data['id']=array(array('gt',3),array('lt',10),'or');//$data['id']=array(array('gt',3),array('lt',10),'and');//$data['username']=array(array('like','u%'),array('like','a%'),'or');//   $list=$user->where($data)->select();//   dump($list);   //3.组合查询//   $data['username']='user';//   $data['id']='8';//   $data['_logic']='or';//条件为or//   $data['_string']='id<5';//就是在sql后面加入标准的sql条件//   $list=$user->where($data)->select();//   dump($list);   //4.复合查询(id<5 and (username=''or createtim=''))//   $data['username']=array('eq','user');//   $data['createtime']=array('eq','0');//   $data['_logic']='or';//条件为or//   $where['_complex']=$data;//   $where['id']=array('lt',2);//   $list=$user->where($where)->select();//   dump($list);   //5.统计查询count\max\min\avg\sum//   $list=$user->where('id>5')->count('id');//   dump($list);//   $list=$user->max('createtime');//   dump($list);//   $list=$user->min('createtime');//   dump($list);//   $list=$user->avg('createtime');//   dump($list);//   $list=$user->sum('createtime');//   dump($list);   //6.定位查询getN();first();last();//   //6.1初始化////   $user=new AdvModel('user');////6.1.2或者new一个ComModel继承AdvModel//   $user=new AdvModel('user');//   //直接返回结果当中的某条记录从0开始//   $list=$user->getN(0);//   dump($list);   //7.sql查询execute(更新和写入;有受影响行数无结果集)、query(用于查询)//   $list=$user->query('from tb_user order by id desc');//   dump($list);   //8.动态查询(方法后加上字段名getByUsername或者查询top)   $user=new AdvModel('user');//   $list=$user->getByUsername('user');   $list=$user->top3();   dump($list);}}?>