摘要:<?php namespace app\index\controller; use think\Db; class Query { //讀操作返回的都是二維數(shù)組,沒(méi)有滿足條件的記錄返回的是一個(gè)空數(shù)組 //寫操作返回的是受影響的記錄數(shù),沒(méi)有返回0 &nbs
<?php namespace app\index\controller; use think\Db; class Query { //讀操作返回的都是二維數(shù)組,沒(méi)有滿足條件的記錄返回的是一個(gè)空數(shù)組 //寫操作返回的是受影響的記錄數(shù),沒(méi)有返回0 public function find() { //查詢一條數(shù)據(jù):table里是表名,find是主鍵ID=10 // $res = Db::table('staff')->find(10); $res = Db::table('sp') // ->field('name,jiage') ->field(['name as 姓名','jiage as 價(jià)格']) //寫在數(shù)組中可以寫別名 ->where('jiage','>',11) //where(字段,表達(dá)式,條件) ->find(); //執(zhí)行后的SQL語(yǔ)句: SELECT * FROM `staff` WHERE `staff_id` > 11 LIMIT 1 dump($res); } public function select() { //查詢滿足條件的多條記錄 $res = Db::table('staff') ->field(['name as 姓名','salary as 工資']) ->where('salary', '>', '3000') // ->order('salary DESC') //ASC由小到大 DESC 由大到小 ->order('salary','asc') //第二種寫法 ->limit(5) ->select(); dump($res); } //新增操作 public function insert() { //新增一條記錄 // $data=[ // 'name' => '處處留情', // 'sex' => 0, // 'age' => 79, // 'salary' => 5300 // ]; // $num = Db::table('staff')->insert($data); // $id = Db::getLastInsID(); // return $num ? '添加成功,$id='.$id : '沒(méi)有記錄被添加'; // return $num ? '添加成功,$id='.$id : '沒(méi)有記錄被添加'; //$data($data):將數(shù)據(jù)打包$option[] //insertGetId() == insert() + getLastInsID() // $id = Db::table('staff') // ->insertGetId($data); // return $id ? '添加成功,$id='.$id : '沒(méi)有記錄被添加'; // $id = Db::table('staff') // ->data($data) // ->insert(); // $id = Db::getLastInsID(); // return $id ? '添加成功,$id='.$id : '沒(méi)有記錄被添加'; //新增多條記錄:insertAll() $data = [ ['name' => '張飛','sex'=>0,'age'=>50,'salary'=>7800], ['name' => '關(guān)羽','sex'=>0,'age'=>60,'salary'=>9000], ['name' => '劉備','sex'=>0,'age'=>70,'salary'=>6900] ]; //執(zhí)行語(yǔ)句 $num = Db::table('staff') ->data($data) ->insertAll(); //返回結(jié)果 return $num ? '添加成功,'.$num .'條記錄' : '沒(méi)有記錄被添加'; } //更新操作 public function update() { //不允許無(wú)條件更新 //將工資大于等于8000的減500元 // $num = Db::table('staff') // ->where('salary','>=',8000) // ->data(['salary'=>Db::raw('salary-500')]) //Db::raw('salary')獲取原始數(shù)據(jù) // ->update(); $num = Db::table('staff') ->update(['sex'=>1,'staff_id'=>39]); //update([更新內(nèi)容,更新條件]) return $num ? '更新成功,'.$num .'條記錄' : '沒(méi)有記錄被更新'; } //刪除操作 public function delete() { //不允許無(wú)條件刪除:delete() //返回的是受影響的記錄條數(shù) // $num = Db::table('staff')->delete(39); //delete(刪除主鍵) // $num = Db::table('staff') // ->delete([7,8,9]); //刪除多個(gè)指定id $num = Db::table('staff') ->where('salary','>=',9000) ->delete(); $num =Db::table('staff')->delete(true); //清空數(shù)據(jù)表 return $num ? '刪除成功,'.$num .'條記錄' : '沒(méi)有記錄被刪除'; //刪除數(shù)據(jù)使用軟刪除實(shí)現(xiàn),用更新模擬刪除 } } 在實(shí)際開(kāi)發(fā)中,不在控制器操作數(shù)據(jù)庫(kù),采用模型來(lái)操作數(shù)據(jù)庫(kù)
批改老師:查無(wú)此人批改時(shí)間:2019-04-16 09:39:49
老師總結(jié):完成的不錯(cuò)。說(shuō)的對(duì),好的項(xiàng)目都不在控制器里操作數(shù)據(jù)庫(kù)。繼續(xù)加油。