<?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"); } }