thinkphp5 软删除

9 篇文章 0 订阅

一、实现软删除

1、数据表增加一个字段delete_time 数据类型int,默认值NULL

2、模型层引入 softDelete 类;

3、此时你对数据库的删除操作会在delete_time字段添加时间戳,而不是将数据删除;(delete_time字段可以自定义名称,如上图)

 

4、注意,使用db()助手函数或Db:name()方法是会获取到软删除的数据

 

注意:使用软删除,数据库的delete_time 字段的默认值设置为NULL,否则获取不到数据,也删除不了数据

 

 

 

 

 

 

 

 

 

二、获取软删除的数据

1、withTrashed(true) //获取单条软删除数据;

使用方法: $res = User::withTrashed(true)->find(1)->getData();

2、onlyTrashed() //获取所有软删除数据

使用方法: $res = User::onlyTrashed()->select();

foreach($res as $val){

dump($val->getData());

}

3、恢复软删除方法:

1)将需要恢复的软删除数据获取出来;

2)使用更新方法,将这些数据的delete_time 字段更新为NULL;

 

三、使用软删除后又想真正删除数据

在删除方法加第二个参数true即可,如下:

$res = User::destroy(1,ture);

$res = User::where(id,"1")->delete(true);

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值