ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP 学習メモ (9) ThinkPHP の包括的なクエリ方法
ThinkPHP学習記 (9) 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']='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); } } ?>