美文网首页
Laravel设置软删除及其恢复系列操作

Laravel设置软删除及其恢复系列操作

作者: 老王谈编程 | 来源:发表于2017-11-23 21:28 被阅读0次

软删除及其相关实现

  • 在模型类中要使用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','>',1)->restore();
  • 恢复所有模型
Student::withTrashed()->restore();
  • 恢复关联查询模型
$student = Student::find(6);
$student->history()->restore();
  • 强制删除(丛数据库中删除)
$student = Student::find(6);
$student->forceDelete();

相关文章

  • Laravel设置软删除及其恢复系列操作

    软删除及其相关实现 在模型类中要使用SoftDeletestrait并设置$date属性数组 数据迁移中软删除字段...

  • Laravel软删除

    1.首先要做一些设置首先在模型类中要使用SoftDeletestrait,该trait为软删除提供一系列相关方法,...

  • laravel中使用软删除

    在模型层中(Models)添加三行代码搞定 use Illuminate\Database\Eloquent\So...

  • Laravel 数据删除以及软删除

    所谓软删除指的是数据表记录并未真的从数据库删除,而是将表记录的标识状态标记为软删除,这样在查询的时候就可以加以过滤...

  • JS cookie操作-获取-设置-删除

    cookie操作-获取-设置-删除

  • 设置外键,外键约束值的区别

    laravel 设置外键,并设置外键约束的方式 为联级删除 更新:在使用Navicat for mysql设计表时...

  • 用户管理

    添加用户:useradd xiaoming设置密码 :passwd删除用户:userdel删除用户及其主目录:us...

  • WPS-PPT-001

    设置撤销/恢复操作步数文件 -> 选项 -> 编辑撤销/恢复操作步数撤销-恢复操作步数.png 文字使用图案或图片...

  • Laravel6.X软删除教程

    软删除的意思就是没有真正删除,只是在数据库里标记了一下,便于随时恢复。我们可以软删除用户,让他失去正常的权限,也可...

  • 十年编程老师傅“秘传编程笔记”,速度来看!

    1:定坐标格式——WCS——方位 2:删除当前操作导航器中的设置工具——操作导航器——删除设置 3:部件尺寸分析把...

网友评论

      本文标题:Laravel设置软删除及其恢复系列操作

      本文链接:https://www.haomeiwen.com/subject/ldetbxtx.html