PHP 软删除,Laravel 软删除操作

本文介绍了如何在 Laravel 中实现软删除功能,包括使用 SoftDeletes trait,添加 deleted_at 字段到数据表,以及如何进行数据的软删除、显示和恢复操作。通过软删除,可以在不实际从数据库中移除记录的情况下,实现数据的逻辑删除。
摘要由CSDN通过智能技术生成

数据库数据删除有些数据肯定不是真的从数据库里面直接删除,这时候就会用到假删除。

1、首先在模型中要使用SoftDeletestrait,该trait为软删除提供一系列相关方法,具体可参考源码Illuminate\Database\Eloquent\SoftDeletes ,此外还要设置$date属性数组,将deleted_at置于其中:

namespace App\Model\Backend;

use App\Http\Response;

use Illuminate\Database\Eloquent\Model;

use Illuminate\Database\Eloquent\SoftDeletes;

use Request;

class User extends Model

{

use SoftDeletes;

protected $table = 'users'; //表名

protected $primaryKey = 'id'; //主键

protected $datas = ['deleted_at'];

2、向数据库中的相应数据表添加 delete_at 字段, 执行下面命令生成迁移文件

php artisan make:migration add_deleted_at_to_users_table --table=users

php artisan migrate //执行迁移文件

3、在Model文件里面执次下面操作即可

namespace App\Model\Backend;

use App\Http\Response;

use Illuminate\Database\Eloquent\Model;

use Illuminate\Database\Eloquent\SoftDeletes;

use Request;

class User extends Model

{

use SoftDeletes;

protected $table = 'users'; //表名

protected $primaryKey = 'id'; //主键

protected $datas = ['deleted_at'];

public static function delete()

{

self::whereIn('id', $ids)->delete(); //删除用户

withTrashed() 显示所有数据

onlyTrashed() 显示删除数所

restore()还原数据

}

本作品采用《CC 协议》,转载必须注明作者和本文链接

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值