<?php namespace app\index\controller; use think\Db; /** * Class Demo5 * @package app\index\controller * 查询构造器 * 准备工做:app_debug=>'true';app_trace='true'; * 系统学习数据据库的增删改查:CURD */ class Demo5 { //1.单条查询 public function find() { /** * Db类数据库操做的入口类 * 功能:静态调用think\db\query.php类中的查询方法实现基本操做 * table():选择数据表 * where():设置查询条件 表达式,数组 * 1.单个条件 使用表达式 * 2.对于多个条件使用数组 * find()返回符合条件的第一条记录,没有的话返回NULL */ $res=Db::table('blog') //->field('id,name,content') //->field(['id'=>'asdf','name'=>'qwer','content'=>'zxcv']) ->where('id','=',1)//若是是相等关太详细,=可省略 ->find(); dump(is_null($res)?'没有找到':$res); } //2.多条查询 public function select() { //select()返回的是一个二维数组,没有数据返回是一个空数据 $res=Db::table('blog') ->field('id,name,title') ->where([ ['user_id','=','0'], ['category_id','>=',0] ]) ->select(); if(empty($res)){ return '没有知足条件的记录'; }else{ foreach($res as $row){ dump($row); } } } //单条插入 public function insert() { //insert()成功返回新增的数量,失败返回false //准备一下要插入的数据 $data=[ 'name'=>'js1', 'title'=>'js学习', 'content'=>'如今学习js框架', 'user_id'=>0, 'category_id'=>1, 'recommend'=>1, 'read_count'=>0, 'create_time'=>time(), 'update_time'=>time(), 'publish_time'=>time(), ]; //return Db::table('blog')->insert($data); //只有数据库类型为MYSQL的时候,才能够传入true //return Db::table('blog')->insert($data,true); //这样作能够提升对数据的安全处理,insert中不支持true //return Db::table('blog')->data($data)->insert(); //插入的同时返回新增主键ID,insertGetId()同时执行两步,第一步插入,第二步返回主键主id return Db::table('blog')->insertGetId($data); } //4.添加多条 public function insertAll() { $data=[ ['name'=>'js2','title'=>'js2学习','content'=>'如今学习js框架','user_id'=>0, 'category_id'=>1,'recommend'=>1,'read_count'=>0,'create_time'=>time(), 'update_time'=>time(),'publish_time'=>time(),], ['name'=>'js3','title'=>'js3学习','content'=>'如今学习js框架','user_id'=>0, 'category_id'=>1,'recommend'=>1,'read_count'=>0,'create_time'=>time(), 'update_time'=>time(),'publish_time'=>time(),], ['name'=>'js4','title'=>'js4学习','content'=>'如今学习js框架','user_id'=>0, 'category_id'=>1,'recommend'=>1,'read_count'=>0,'create_time'=>time(), 'update_time'=>time(),'publish_time'=>time(),], ]; // return Db::table('blog')->insertAll($data); return Db::table('blog')->data($data)->insertAll(); } //更新操做 public function update() { //update()必需要有更新条件 //return Db::table('blog') //->where('id','=',13) //->update(['name'=>'html']); //若是更新条件是主键的话,能够直接把主键写到更新数组中 return Db::table('blog') ->update(['name'=>'css','id'=>12]); } //删除操做 public function delete() { // return Db::table('blog') //->delete(13); return Db::table('blog') ->where('id',12) ->delete(); } //原生查询 public function query() { $sql="SELECT 'name','title' FROM blog WHERE id IN(1,2,3)"; dump(Db::query($sql)); } //原生写操做:更新,删除,添加 public function execute() { // return Db::execute("UPDATE blog SET name='css' WHERE id=11"); // return Db::execute("INSERT blog SET name='asp'"); return Db::execute("DELETE FROM blog WHERE id=11"); } }