123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- <?php
- namespace Test\Lib;
- use Dever;
- class Data
- {
- //public function test_commit(){}
- # 直接使用方法
- public function test()
- {
- $id = Dever::input('id', 'is_numeric', 'ID');
- # 取前10条
- $set['limit'] = '0, 10';
- # 获取字段
- $set['col'] = '*';
- # 排序
- $set['order'] = 'id desc';
- # 分组
- //$set['group'] = 'id';
- # 查询条件 注意,key值中的#号代表重复使用该字段,如果使用自定义方法没有此种情况
- $where['id'] = $id;
- /*
- # 模糊查询
- $where['name'] = array('like', 'test');
- # in查询
- $where['id#'] = array('in', '1');
- # 获取区间值
- $where['cdate'] = array('between', array(1,2));
- # 获取>1的数据
- $where['cdate#'] = array('>', 1);
- # 获取<2的数据
- $where['cdate##'] = array('<', 2);
- # 增加or查询
- $where['or'] = array
- (
- 'name' => 'test1',
- 'desc' => 'test',
- );
- # 增加or查询
- $where['or#'] = array
- (
- 'name' => 'test1',
- 'desc' => 'test',
- );
- # 增加or查询
- $where['or1'] = array
- (
- 'name' => 'test1',
- 'desc' => 'test',
- );
- # 联表查询
- $set['join'] = array
- (
- array
- (
- 'table' => 'info',
- 'type' => 'left join',
- 'on' => 'info.goods_id=news.id',
- ),
- );
-
- # 常用方法
- # 支持大量数据的多条方法
- $data = Dever::db('news', 'demo')->load(array('id' => 1), $set);
- # 多条查询支持直接循环使用
- foreach($data as $k => $v) {
- $s[] = $v;
- }
- # 多条查询支持后续方法:fetch fetchAll rowCount fetchColumn
- $data = $data->fetchAll();
- # 多条查询 建议用limit,别查询太多
- $data = Dever::db('news', 'demo')->select(array('id' => 1), $set);
- # 单条查询
- $data = Dever::db('news', 'demo')->find(1);
- # 获取统计数据
- $data = Dever::db('news', 'demo')->count(array('id' => 1));
- $ 插入数据
- $data = Dever::db('news', 'demo')->insert(array('name' => 'xingxing'));
- # 更新数据
- $data = Dever::db('news', 'demo')->update(array('id' => 6), array('desc' => 'ceshi'));
- # 更新数据并num+1
- $data = Dever::db('news', 'demo')->update(array('id' => 1), array('desc' => '22222', 'num' => array('+', 1)));
- # 删除数据
- $data = Dever::db('news', 'demo')->delete(array('id' => 6));
- # sql形式 {table} 当前表名
- $data = Dever::db('news', 'demo')->query('select * from {table} limit 0, 5');
-
- # 分页
- $set['num'] = 10;
- # 只获取该页的数据
- //$set['page'] = 1;
- $data = Dever::db('news', 'demo')->select([], $set);
- # sql语句形式分页
- //$data = Dever::db('news', 'demo')->query('select * from {table} limit 0, 5', array(), $set);
- # 获取分页信息,list是分页模板名称,不传则不生成模板
- $page = Dever::page('list');
- print_r($page);die;
- $data = Dever::db('news', 'demo')->select(array('id' => 2), $set);
- # 自定义方法 getAll为自定义的方法
- $data = Dever::db('news', 'demo')->getAll(array('id1' => 2, 'state' => 2), $set);
- $data = Dever::db('news', 'demo')->updateNum(array('id' => 1), array('desc' => '22222', 'num' => 1));
- $data = Dever::db('news', 'demo')->insert(array('name' => 'xingxing2', 'num' => 1, 'desc' => '描述', 'cdate' => time()+86400));
- $where['id'] = 1;
- //$where['name1'] = 'xingxing';
- $data = Dever::db('news', 'demo')->select($where, $set);
- */
- # 悲观锁
- $data = Dever::db('news', 'demo')->select([], $set, true);
- # 乐观锁
- //$data = Dever::db('news', 'demo')->update(array('id' => 1), array('desc' => '22222', 'num' => array('+', 1)), true);
- return $data;
- }
- }
|