视图查询
// $result = Db::view('data','id,name,status')
// ->view('users',['nickname'=>'user_name','mobile','email'],'users.user_id = data.id')
// ->where('data.status',1)
// ->order('id desc')
// ->select();
// print_r($result);
// create view my_view(id, `name`, `status`, user_name,mobile,email)
// as
// select data.id,data.name,data.status,users.nickname as user_name,users.mobile,users.email
// from tp_data `data` inner join tp_users users on users.user_id = data.id where data.status = 1 order by data.id desc
// select * from my_view
// 使用Query对象
// $query = new \think\db\Query;
// $query->name('data')->where('name', 'like', '%think%')
// ->where('id', '>=', '1')
// ->limit(10);
// $result = Db::select($query);
// print_r($result);
// 获取某行某列某个值
// $name = Db::name('data')->where('id', 16)->value('name');
// print_r($name);
//
// 获取某列
// $name = Db::name('data')
// ->where('status', 1)
// ->column('name');
// print_r($name);
// 获取id键名 name 位值的 键值对
// $list = Db::name('data')
// ->where('status', 1)
// ->column('name', 'id');
// print_r($list);
// 获取id键名 的数据集
// $list = Db::name('data')
// ->where('status', 1)
// ->column('*', 'id');
// print_r($list);
// 聚合查询 count max min avg sum
// 统计data表的数据
// $count = Db::name('data')->where('status', 1)->count();
// echo $count;
// 统计data表的最大id
// $max = Db::name('data')->where('status', 1)->max('id');
// echo $max;
// 建议字符串 简单查询
// $result = Db::name('data')
// ->where("id > :id and name like :name", ['id' => 10,'name'=>"%php%"])
// ->select();
// print_r($result);
// 日期查询 建议 日期类型 使用 int
// 查询时间大于2016-1-1的数据
// $result = Db::name('users')
// ->whereTime('reg_time', '>', '2016-01-01')
// ->select();
// print_r($result);
// // 查询本周
// $result = Db::name('users')
// ->whereTime('reg_time', '>', 'this week')
// ->select();
// print_r($result);
//
// // 查询最近两天添加的数据
// $result = Db::name('users')
// ->whereTime('reg_time', '>', '-2 days')
// ->select();
// print_r($result);
//
// // 查询创建时间在2016-1-1~2017-7-1的数据
// $result = Db::name('users')
// ->whereTime('reg_time', 'between', ['2016-1-1', '2017-1-1'])
// ->select();
// print_r($result);
// 获取今天的数据 昨天 yesterday 本周 week 上周 last week
// $result = Db::name('users')
// ->whereTime('reg_time', 'today')
// ->select();
// print_r($result);
//
// 分块查询
// Db::name('data')
// ->where('status', '>', 0)
// ->chunk(2, function ($list) {
// foreach($list as $data){
// // 处理2条记录
// }
// });
改造后
$p = 0;
do{
$result = Db::name('data')->limit($p,2)->select();
$p += 2;
print_r($result);
// 逻辑处理
} while (count($result) > 0);