Laravel 软删除操作 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

[Laravel 软删除操作 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区]

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

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

<?php

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文件里面执次下面操作即可

<?php
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()还原数据
        }

Original url: Access

Created at: 2018-10-10 18:34:53

Category: default

Tags: none

请先后发表评论
  • 最新评论
  • 总共0条评论