亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

在實(shí)際開發(fā)中,采用模型來操作數(shù)據(jù)庫是必備基礎(chǔ)知識(shí)

原創(chuàng) 2019-04-15 18:53:22 277
摘要:<?php namespace app\index\controller; use think\Db; class Query {     //讀操作返回的都是二維數(shù)組,沒有滿足條件的記錄返回的是一個(gè)空數(shù)組     //寫操作返回的是受影響的記錄數(shù),沒有返回0  &nbs
<?php
namespace app\index\controller;
use think\Db;

class Query
{
    //讀操作返回的都是二維數(shù)組,沒有滿足條件的記錄返回的是一個(gè)空數(shù)組
    //寫操作返回的是受影響的記錄數(shù),沒有返回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語句: 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 : '沒有記錄被添加';
//          return $num ? '添加成功,$id='.$id : '沒有記錄被添加';

        //$data($data):將數(shù)據(jù)打包$option[]
        //insertGetId() == insert() + getLastInsID()


//        $id = Db::table('staff')
//            ->insertGetId($data);
//        return $id ? '添加成功,$id='.$id : '沒有記錄被添加';

//        $id = Db::table('staff')
//            ->data($data)
//            ->insert();
//        $id = Db::getLastInsID();
//        return $id ? '添加成功,$id='.$id : '沒有記錄被添加';


        //新增多條記錄: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í)行語句
           $num = Db::table('staff')
            ->data($data)
            ->insertAll();
        //返回結(jié)果
        return $num ? '添加成功,'.$num .'條記錄' : '沒有記錄被添加';
    }

    //更新操作
    public function update()
    {
        //不允許無條件更新
        //將工資大于等于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 .'條記錄' : '沒有記錄被更新';

    }

    //刪除操作
    public function delete()
    {
        //不允許無條件刪除: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 .'條記錄' : '沒有記錄被刪除';

        //刪除數(shù)據(jù)使用軟刪除實(shí)現(xiàn),用更新模擬刪除
    }
}

在實(shí)際開發(fā)中,不在控制器操作數(shù)據(jù)庫,采用模型來操作數(shù)據(jù)庫


批改老師:查無此人批改時(shí)間:2019-04-16 09:39:49
老師總結(jié):完成的不錯(cuò)。說的對(duì),好的項(xiàng)目都不在控制器里操作數(shù)據(jù)庫。繼續(xù)加油。

發(fā)佈手記

熱門詞條