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

創(chuàng)建圖書表,創(chuàng)建它的模型,進(jìn)行增刪改查和軟刪除操作

??? 2019-04-10 16:46:47 579
????://這里的圖書表表名為book,總共包含兩個屬性,分別是id和name。//首先先創(chuàng)建一個模型//在application目錄下創(chuàng)建model目錄,在其中新增一個名為Book.php的文件,這個就對應(yīng)著book表,完成圖書表的模型的創(chuàng)建<?phpnamespace app\index\modeluse think\Model;use think\model\concern\SoftDelet

//這里的圖書表表名為book,總共包含兩個屬性,分別是id和name。

//首先先創(chuàng)建一個模型

//在application目錄下創(chuàng)建model目錄,在其中新增一個名為Book.php的文件,這個就對應(yīng)著book表,完成圖書表的模型的創(chuàng)建

<?php

namespace app\index\model

use think\Model;

use think\model\concern\SoftDelete;//加入支持軟刪除功能

//模型類的寫法

class Book extends Model{

use SoftDelete;//希望實現(xiàn)軟刪除的時候使用這一條,否則不加這一條

protected $table = 'book';

protected $pk = 'id';

protected $deleteTime = 'delete_time';

protected $defaultSoftDelete = 0;

};


然后在application目錄下面的index目錄下面的controller下面完成控制器的相關(guān)代碼

//首先先實例化一個模型

namespace app\index\controller

user think\Controller;

use app\index\model\Book as BookModel;//導(dǎo)入模型并且設(shè)置模型類的別名


class Book extends Controller

{

//實例化模型

    public function instance(BookModel $book)//使用依賴注入的方式實例化模型

    {

    }

//下面開始寫增刪改查的相關(guān)函數(shù)

//增

$book = [ 

[1,10],

[2,20],

[3,30],

[4,40]

};

//這里下面的每種操作都應(yīng)該封裝在一個函數(shù)當(dāng)中,但是此處省略基本的函數(shù)體,為了更清楚地了解模型的線管函數(shù)的使用并進(jìn)行比較,此處僅列出了核心的操作語句。

BookModel::insert($data);//通過調(diào)用模型類中的方法來完成添加操作

//刪

BookModel::destroy(function($query){

    $query->where('id','=','1'); })://這里使用推薦的閉包來達(dá)成物理刪除的目的。

//改

BookModel::update(

    ['name'=>'50'],

    function($query){$query->where('id','=','2');  }  );

//查

//這里也使用閉包來創(chuàng)建查詢條件

BookModel::get(function ($query){

    $query->where('id','=','3');}  );//如果查詢多條,則將get改為all就可以啦

//軟刪除

BookModel::destroy(function($query){

    $query->where('id','=','2');});


=======================================

總結(jié)一下,當(dāng)我們想要通過模型來完成數(shù)據(jù)庫的增刪改查的時候,除了使用Db方法


比較推薦的就是使用模型的相關(guān)函數(shù)


StaffModel::

get()//獲取單條

all()//獲取多條

insert()//增

destroy()//刪除 或 軟刪除

update()//改


他們對應(yīng)的Db相關(guān)的函數(shù)是——

Db::table('name')->

find()//查詢單條

select()//查詢多條

insert()//插入單條

insertAll()//插入多條

update()//更新

delete()//刪除


======================================


?? ???:天蓬老師?? ??:2019-04-10 17:23:08
???? ??:軟刪除的原理,與商品上架也下架是一樣的, 是用更新加標(biāo)志位的方式來實現(xiàn)刪除效果

??? ??

?? ??