您现在的位置是:首页 > 经验记录>Laravel日记>Laravel软删除操作以及回收站功能实现 网站首页 Laravel日记
Laravel软删除操作以及回收站功能实现
数据库数据删除Laravel有自带的软删除功能,挺好用的。
一、在模型中需要使用SoftDeletestrait,该trait为软删除提供一系列相关方法,具体可参考源码Illuminate\Database\Eloquent\SoftDeletes ,此外还要设置$date属性数组,将deleted_at置于其中,下面为Model实例:
<?
phpnamespace 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 //执行迁移文件
注:你也可以选择手动添加该字段如下↓(默认选择为null)
![]()
3、在Model文件里面执次下面操作即可
delete(); //删除用户
//withTrashed() 查询时检索所有数据
//onlyTrashed() 查询时只检索已删除数据
//查询正常数据操作就不写了,正常查询出来的就都是未删除数据
//restore()还原数据,就是清空deleted_at为null
}
实例语句:
$user = User::withTrashed()->where('id', $id)->git();//查询包括已删除的所有数据原文参考994914376的文章
随机推荐
- 开发 Composer 包详细步骤
- centos7下配置好网络之后ssh登录失败怎么办
- 如何在ubuntu上安装多个版本的php?并顺畅切换使用[其它系统类似原理]
- 使用ceph-deploy 2.0.0 部署ceph 12.2.5集群
- golang ajax 上传文件,golang实现图片上传
- Ubuntu18.04 lnmp nginx1.14 PHP7.2 MySQL5.7 安装 配置
- Ubuntu上安装和配置Supervisor及运行pkg_resources.DistributionNotFound:报错处理
- cgywin安装phpredis
- ceph块存储的搭建[不在mon节点]
- 近50道家常菜做法
文章评论
未开放






