book表,增删改查操作(含软删除)

原创 2019-02-17 04:19:48 738
摘要:图书表字段//模型<?phpnamespace app\index\model;/** * 实现软删除功能的步骤 * 1.在数据表中新增delete_time字段(字段名可自定义) * 2.在模型中导入trait类:SoftDelete * 3.设置模型属性 protected $deleteTime = '删除时间字段名'; 

图书表字段1550345977265985.jpgaaaa.png

//模型

<?php

namespace app\index\model;

/**

 * 实现软删除功能的步骤

 * 1.在数据表中新增delete_time字段(字段名可自定义)

 * 2.在模型中导入trait类:SoftDelete

 * 3.设置模型属性 protected $deleteTime = '删除时间字段名';

 * 4.设置软删除字段默认值[可选]

 */

use think\Model;

use think\model\concern\SoftDelete;  

class Book extends Model

{

use SoftDelete;


    //设置数据表名

    protected $table = 'book';


    //设置主键,默认是id

    protected $pk = 'id';


    //设置软删除字段,配合软删除功能

    protected $deleteTime = 'delTime';


    //设置软删除字段的默认值

    protected $defaultSoftDelete = 0;



}

//控制器

<?php

namespace app\index\controller;

use think\Controller;

use app\index\model\Book as BookModel; //设置别名,防止与当前控制器冲突

class Book extends Controller

{

//查询

    public function lst()

    {

        //获取所有的数据

  $res=BookModel::all();

  dump($res);

    }


    //查找

    public function search()

    {

        //获取出版大于1950的数据.

        

  // $res=BookModel::all(function($query){

  // $query->where('bSetTime > 1950');

  // });

 

  //获取出版大于1950的数据,并且分类属于历史的

  $res=BookModel::all(function($query){

  $query->where('bSetTime > 1950')->where('bClass','=','历史');

  });


  dump($res);

    }


    //增加

    public function add(){

    //增加数据

    $data=[

    'bName'=>'九鼎记',

    'bAuthor'=>'我吃西红柿',

    'bSetTime'=>'2010',

    'bClass'=>'玄幻'


    ];

    //设置允许的字段

    $field = ['bName','bAuthor','bSetTime','bClass'];

    //添加到数据库

$res=BookModel::create($data, $field);

    dump($res);

    }


    //修改

    public function edit(){

    //修改方法一

        //修改id=5的数据中的出版时间为2006年;

   //      $id=5;

   //      $res=BookModel::get($id);

   //      $res->bSetTime=2006;

   //      $stas=$res->save();

  // dump($stas);


  // 方法2

  $stas=BookModel::update(

['bSetTime'=> 2018],  //数据使用原始值调用

function($query){   //条件使用闭包

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

}

);  

dump($stas);  

  }


  //删除

    public function del(){

  //BookModel::destroy(function($query){

//     $query->where('id','=',5);

// });

       //dump($stas);

       

       //软删除

          $stas=BookModel::destroy(1);

          dump($stas);  


    }

}


批改老师:西门大官人批改时间:2019-02-17 09:57:51
老师总结:作业写的不错,实际上软删除比较通用的作法是增加一个bool类型的字段:is_del。你当前的设计也是可行的

发布手记

热门词条