//添加数据 Db::name('user')->insert($data); //过滤不存在的字段的值 Db::name('user')->strict(false)->insert($data); //返回新增数据的自增主键 $userId = Db::name('user')->insertGetId($data); //添加多条数据 Db::name('user')->insertAll($data); // 分批写入 每次最多100条数据 Db::name('user')->limit(100)->insertAll($data); //更新数据 Db::name('user')->where('id', 1)->update(['name' => 'thinkphp']); // score 字段加 5( 如不加第二个参数,默认步长为1) Db::table('think_user')->where('id', 1)->inc('score', 5)->update(); // score 字段减 5 Db::table('think_user')->where('id', 1)->dec('score', 5)->update(); //删除数据 // 根据主键删除 Db::table('think_user')->delete(1); Db::table('think_user')->delete([1,2,3]); // 条件删除 Db::table('think_user')->where('id',1)->delete(); Db::table('think_user')->where('id','<',10)->delete(); // 无条件删除所有数据 Db::name('user')->delete(true); // 软删除数据 使用delete_time字段标记删除 Db::name('user')->where('id', 1)->useSoftDelete('delete_time',time())->delete(); //数据查询 //查询单个数据 Db::name('user')->where('id', 1)->find(); //查询多个数据 Db::name('user')->where('status', 1)->select(); //查询某个字段的值 Db::table('think_user')->where('id', 1)->value('name'); //查询某一列的值 Db::table('think_user')->where('status',1)->column('name'); //游标查询 $cursor = Db::table('user')->where('status', 1)->cursor(); //表达式查询 Db::name('user')->where('id','>',100)->select(); Db::name('user')->where('name', 'like', 'thinkphp%')->select(); Db::name('user')->where('id','between','1,8')->select(); Db::name('user')->where('id','in','1,5,8')->select(); //指定字段查询 Db::table('user')->field('id,nickname as name')->select(); //使用SQL函数查询 Db::table('user')->fieldRaw('id,SUM(score)')->select(); //限制结果数量 Db::table('user')->where('status',1)->field('id,name')->limit(10)->select(); //多表查询 Db::table('think_artist') ->alias('a') ->join('work w','a.id = w.artist_id') ->join('card c','a.card_id = c.id') ->select(); //分页查询,从第10行开始的25条数据 Db::table('article')->limit(10,10)->select(); Db::table('article')->page(1,10)->select(); $list = Db::name('user')->where('status',1)->order('id', 'desc')->paginate(10); $count = $list->total(); // 获取总记录数 $page = $list->render(); // 获取分页显示 //分页后数据处理 $list = Db::name('user')->where('status',1)->order('id', 'desc')->paginate()->each(function($item, $key){ $item['nickname'] = 'think'; return $item; }); //聚合查询 Db::table('think_user')->count(); Db::table('think_user')->max('score'); Db::table('think_user')->min('score'); Db::table('think_user')->avg('score'); Db::table('think_user')->sum('score'); //时间查询 Db::name('user')->whereTime('birthday', '>=', '1970-10-1')->select(); Db::name('blog')->whereTime('create_time','-2 hours')->select(); // 查询两个小时内的博客 // 查询2017年上半年注册的用户 Db::name('user')->whereBetweenTime('create_time', '2017-01-01', '2017-06-30')->select(); //按年、月、日、周查询 Db::name('user')->whereYear('create_time', '2018')->select(); Db::name('user')->whereMonth('create_time', '2018-06')->select(); Db::name('user')->whereDay('create_time', '2018-06-01')->select(); Db::name('user')->whereWeek('create_time')->select(); //闭包构造子查询 Db::table('think_user') ->where('id', 'IN', function ($query) { $query->table('think_profile')->where('status', 1)->field('id'); }) ->select();
上一篇:TP5实现无限级分类 树形输出
讨论数量:0