版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011323949/article/details/85158598
数据库删除操作如果不需要真正从数据库直接删除,这时候就会用到软删除
1.首先在模型中要use SoftDeletes ,该trait 为软删除提供一系列相关方法,此外还要设置$data 属性,将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()还原数据
}
有必要的话,还可以建立BaseModel类,让其他Model类继承