ThinkPHP学习笔记(九)Thinkphp中的查询方式大综合
<?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']='idwhere($data)->select();// dump($list); //4.复合查询(idwhere($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); }}?>