thinkphp5 软删除

1,介绍:软删除的作用就是把数据加上删除标记,而不是真正的删除,同时也便于需要的时候进行数据的恢复。

标记就是通过数据表中delete_time字段设置软删除时候的时间从而屏蔽对这些数据的查询等操作。没有设置的记录的delete_time字段显示的是null。

2,modul中设置

详细介绍请仔细看注释

 

 model类中写:protected $autoWriteTimestamp='timeStamp'; 设置自动写入的时间类型;

也可以在设置database.php中的设置:

 // 自动写入时间戳字段
 'auto_timestamp'  => 'timeStamp',

 这里强调一些‘auto_timestamp’ 不能写成ture,不起作用;

auto_timestamp 支持的字段类型包括timestamp/datetime/int,和你数据表中的时间字段类型保持一致就行。

namespace app\admin\model;
use think\Model;
use traits\model\SoftDelete; //要使用软删除功能,需要引入SoftDelete trait
class Projects extends Model{
    use SoftDelete; //首先要使用SoftDelete
    protected $pk='id'; //设置数据表的主键
    protected $table='projects'; //该数据表的名字
    protected $autoWriteTimestamp='timeStamp'; //自动写入的时间类型
    protected $deleteTime = 'delete_time';//要用软删除,需要在自己的数据表中加入的字段,名字可以自己取
    //下面两项是软删除需要用到的如果不写会报错
    //update,create两个字段用不着可以直接写null
    protected $updateTime = null;
    protected $createTime = null;
}

3,controller设置

class Project extends Controller{
    public function listDel(){
        $projects=model('Projects');//实例化model类
        $id=input('post.id');       //获取ajax 传递过来的数据id
        $info=$projects->destroy($id); //对该条数据进行软删除,软删除必须用destroy进行删除。
    }

}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值