创建图书表,创建它的模型,进行增删改查和软删除操作

Original 2019-04-10 16:46:47 574
abstract://这里的图书表表名为book,总共包含两个属性,分别是id和name。//首先先创建一个模型//在application目录下创建model目录,在其中新增一个名为Book.php的文件,这个就对应着book表,完成图书表的模型的创建<?phpnamespace app\index\modeluse think\Model;use think\model\concern\SoftDelet

//这里的图书表表名为book,总共包含两个属性,分别是id和name。

//首先先创建一个模型

//在application目录下创建model目录,在其中新增一个名为Book.php的文件,这个就对应着book表,完成图书表的模型的创建

<?php

namespace app\index\model

use think\Model;

use think\model\concern\SoftDelete;//加入支持软删除功能

//模型类的写法

class Book extends Model{

use SoftDelete;//希望实现软删除的时候使用这一条,否则不加这一条

protected $table = 'book';

protected $pk = 'id';

protected $deleteTime = 'delete_time';

protected $defaultSoftDelete = 0;

};


然后在application目录下面的index目录下面的controller下面完成控制器的相关代码

//首先先实例化一个模型

namespace app\index\controller

user think\Controller;

use app\index\model\Book as BookModel;//导入模型并且设置模型类的别名


class Book extends Controller

{

//实例化模型

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

    {

    }

//下面开始写增删改查的相关函数

//增

$book = [ 

[1,10],

[2,20],

[3,30],

[4,40]

};

//这里下面的每种操作都应该封装在一个函数当中,但是此处省略基本的函数体,为了更清楚地了解模型的线管函数的使用并进行比较,此处仅列出了核心的操作语句。

BookModel::insert($data);//通过调用模型类中的方法来完成添加操作

//删

BookModel::destroy(function($query){

    $query->where('id','=','1'); })://这里使用推荐的闭包来达成物理删除的目的。

//改

BookModel::update(

    ['name'=>'50'],

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

//查

//这里也使用闭包来创建查询条件

BookModel::get(function ($query){

    $query->where('id','=','3');}  );//如果查询多条,则将get改为all就可以啦

//软删除

BookModel::destroy(function($query){

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


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

总结一下,当我们想要通过模型来完成数据库的增删改查的时候,除了使用Db方法


比较推荐的就是使用模型的相关函数


StaffModel::

get()//获取单条

all()//获取多条

insert()//增

destroy()//删除 或 软删除

update()//改


他们对应的Db相关的函数是——

Db::table('name')->

find()//查询单条

select()//查询多条

insert()//插入单条

insertAll()//插入多条

update()//更新

delete()//删除


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


Correcting teacher:天蓬老师Correction time:2019-04-10 17:23:08
Teacher's summary:软删除的原理,与商品上架也下架是一样的, 是用更新加标志位的方式来实现删除效果

Release Notes

Popular Entries