软删除及其相关实现

  • 在模型类中要使用SoftDeletestrait并设置$date属性数组
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes; class Student extends Model
{
use SoftDeletes; //设置表名
public $table = 'students'; //设置主键
public $primaryKey = 'id'; protected $dates = ['delete_at'];
}
  • 数据迁移中软删除字段写法
<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration; class AlterStudentsDeletedAt extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('students', function (Blueprint $table) {
$table->timestamps();
$table->softDeletes();
});
}
}
  • 控制器中使用
public function destroy(Student $student)
{
$student->delete();
if (!$student->trashed()) {
return redirect()->back()->with('danger', '学生信息删除失败,学生ID:'.$student->id);
} return redirect()->route('students.index')->with('success', '学生信息删除成功,学生ID:'.$student->id);
}
  • 查询结果包含软删除模型
$students = Student::withTrashed()->get();
dd($students->toArray());
  • 只要查看被软删除的模型
$students = Student::onlyTrashed()->get();
dd($students->toArray());
  • 软删除恢复
$student = Student::find(6);
$student->restore();
  • 恢复多个模型
Student::withTrashed()->where('id','>',)->restore();
  • 恢复所有模型
Student::withTrashed()->restore();
  • 恢复关联查询模型
$student = Student::find(6);
$student->history()->restore();
  • 强制删除(丛数据库中删除)
$student = Student::find(6);
$student->forceDelete();

链接:https://www.jianshu.com/p/a48fb2b6adfa

Laravel设置软删除及其恢复系列操作的更多相关文章

  1. 关于Domino数据库的软删除

    在Domino的数据库属性的 “高级” 附签(选择文件->数据库->属性),选中“允许软删除”,这样我们就启用了软删除功能,当一个文档没有删除的时候我们可以使用NotesDatabase的 ...

  2. php手记之05-tp5软删除

    01-需要在设置软删除的模型里设置

  3. tp 5 框架 ajax软删除,回收站,数据恢复

    //HTML代码: <td> <span onclick="del({$v.id})">删除</span> </td> //ajax ...

  4. DDD Code First 迁移数据实现EF CORE的软删除,值对象迁移配置

    感谢Jeffcky大佬的博客: EntityFramework Core 2.0全局过滤 (HasQueryFilter) https://www.cnblogs.com/CreateMyself/p ...

  5. laravel and lumen 软删除操作

    知识都是有联系的,这绝对是真理.作为一名小白,看了一点官方文档,把我自己理解的软删除操作给大家讲讲.有些就是套用官方文档的话. 定义:什么是软删除呢,所谓软删除指的是数据表记录并未真的从数据库删除,而 ...

  6. laravel框架总结(九) -- 软删除

    当模型被软删除时,它们并不会真的从数据库中被移除.而是会在模型上设置一个 deleted_at 属性并将其添加到数据库.如果对应模型被软删除,则deleted_at字段的值为删除时间,否则该值为空. ...

  7. Laravel 查询包括软删除的记录

    查询结果包括已被软删除的记录: Model::withTrashed()->get(); 只查询软删除记录: Model::onlyTrashed()->get(); PS:个人博客-La ...

  8. Windows下环境变量显示、设置或删除操作详情

    显示.设置或删除 cmd.exe 环境变量. SET [variable=[string]] variable 指定环境变量名. string 指定要指派给变量的一系列字符串. 要显示当前环境变量,键 ...

  9. laravel文件存储、删除、移动等操作

    laravel文件存储.删除.移动等操作 一.总结 一句话总结: 启示:可以在操作遇到问题的时候,找文档找实例好好实验一下,也就是学习巩固一下,不必一定要死纠排错 1.laravel文件删除注意? 1 ...

随机推荐

  1. ubuntu下配置rsync,实现远程备份

    rysnc(remote synchronize)在CentOS系统默认安装在/usr/bin,此外rysnc在windows平台下也有相应版本.主页地址为: http://rsync.samba.o ...

  2. JavaScript 概述

    什么是JavaScriptJavaScript 是一种具有面向对象能力的.解释型的程序设计语言. 它是基于对象和事件驱动并具有相对安全性的客户端脚本语言. 主要目的是,验证发往服务器端的数据.增加 W ...

  3. 再谈:为什么开源C/C++开源框架极昂贵?

        今天读了一篇文章:<腾讯前员工创业笔记:那些跟钱有关的事儿>(http://tech.163.com/14/0515/08/9S9975C5000915BF.html),摘录两段: ...

  4. C和指针 (pointers on C)——第七章:函数(上)

    第七章 函数 这一章对于有一定C的基础的人有一定优秀代码风格的人来说,并非非常虐.关于stdarg宏可能有些陌生.它负责可变參数列表的定义. 总结: 新式风格和旧式风格就不要提了.八百年前的事情. 函 ...

  5. centos7+nginx负载均衡Tomcat服务

    接着上一篇:www.cnblogs.com/lkun/p/8252815.html 我们在上一篇在一台centos7服务器上部署了两个nginx,接下来我们使用一个nginx实现tomcat的负载均衡 ...

  6. UVA12545-Bits Equalizer(思维)

    Problem UVA12545-Bits Equalizer Accept: 821  Submit: 4548Time Limit: 3000 mSec Problem Description I ...

  7. 机器学习算法总结(十二)——流形学习(Manifold Learning)

    1.什么是流形 流形学习的观点:认为我们所能观察到的数据实际上是由一个低维流行映射到高维空间的.由于数据内部特征的限制,一些高维中的数据会产生维度上的冗余,实际上这些数据只要比较低的维度就能唯一的表示 ...

  8. RESTful学习笔记

    作为一名只有几个月IT自学经历的人,在接受新知识的时候总是想找到浅显易懂的方式去理解,但往往却很难找到相关的文章,大部分都是针对具有一定经验的开发人员,因此在看了很多相关的文章才对RESTful架构有 ...

  9. BZOJ5197:[CERC2017]Gambling Guide(最短路,期望DP)

    Description 给定一张n个点,m条双向边的无向图. 你要从1号点走到n号点.当你位于x点时,你需要花1元钱,等概率随机地买到与x相邻的一个点的票,只有通过票才能走到其它点. 每当完成一次交易 ...

  10. 【转】APK反编译

    学习和开发Android应用有一段时间了,今天写一篇博客总结一下Android的apk文件反编译.我们知道,Android应用开发完成之后,我们最终都会将应用打包成一个apk文件,然后让用户通过手机或 ...