laravel框架总结(九) -- 软删除
当模型被软删除时,它们并不会真的从数据库中被移除。而是会在模型上设置一个 deleted_at 属性并将其添加到数据库。如果对应模型被软删除,则deleted_at字段的值为删除时间,否则该值为空。
1.做一些设置
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; class Post extends Model { use SoftDeletes; //...其他一些设置 protected $dates = ['delete_at']; }
2.向数据库中的相应数据表添加delete_at字段
<?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class AlterPostsDeletedAt extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::table('posts', function (Blueprint $table) { $table->softDeletes(); }); } ...//其它方法 }
3.使用方法
//在模型上调用delete方法$post = Post::find(6); $post->delete(); //要确认指定的模型实例是否已经被软删除,可以使用 trashed 方法: if($post->trashed()){ echo '软删除成功!'; dd($post); }else{ echo '软删除失败!'; } //查找被软删除的模型 $flights = App\Flight::withTrashed() ->where('account_id', 1) ->get(); //onlyTrashed 方法会只获取已被软删除的模型: $flights = App\Flight::onlyTrashed() ->where('airline_id', 1) ->get(); //恢复单个已经被软删除的模型 $flight = Flight::withTrashed()-find(1); //这里要注意如果被软删除直接find是查不到的 $flight->restore(); //恢复多个模型 App\Flight::withTrashed() ->where('airline_id', 1) ->restore(); // 强制删除单个模型实例... $flight->forceDelete(); // 强制删除所有相关模型... $flight->history()->forceDelete();
转载于:https://www.cnblogs.com/ghjbk/p/6638125.html
laravel框架总结(九) -- 软删除相关推荐
- 十九、PHP框架Laravel学习笔记——批量赋值和软删除
一.批量赋值 上一节增删改中,新增中我们发现需要进行批量赋值的许可: 一般情况下,是为了防止提交过来的字段在部分场景中不需要或不能: 所以,我们需要通过黑白名单机制进行过滤掉必要的字段: //通过提交 ...
- laravel自定义软删除
laravel框架自带的字段为deleted_at, 但是我们现在的要求是改成is_delete 0=未删除,1=删除 这样问题就来了.deleted_at为时间戳格式.而我们的is_delete,直 ...
- 数据库软删除php,应用 Laravel 的软删除你需要注意的几点
Laravel 软删除存在的问题 1.软删除使用的标记类型是时间类型,通过is null条件查询,删除标记取值不支持定义 //Illuminate\Database\Eloquent\SoftDele ...
- lumen php命令,laravel and lumen 软删除操作
知识都是有联系的,这绝对是真理.作为一名小白,看了一点官方文档,把我自己理解的软删除操作给大家讲讲.有些就是套用官方文档的话. 定义:什么是软删除呢,所谓软删除指的是数据表记录并未真的从数据库删除,而 ...
- Laravel实现软删除
Laravel实现软删除 Laravel 的 Eloquent ORM 提供了一个漂亮.简洁的 ActiveRecord 实现来和数据库交互.每个数据库表都有一个对应的「模型」用来与该表交互.你可以通 ...
- Laravel Eloquent ORM 实例教程 —— 模型删除及软删除相关实现
1.删除模型 1.1 使用delete删除模型 删除模型很简单,先获取要删除的模型实例,然后调用delete方法即可: $post = Post::find(5); if($post->dele ...
- Laravel框架一:原理机制篇
转载自http://www.cnblogs.com/XiongMaoMengNan/p/6644892.html Laravel作为在国内国外都颇为流行的PHP框架,风格优雅,其拥有自己的一些特点. ...
- laravel框架应用和composer扩展包开发
laravel5.5+ laravel官方地址 laravel是目前最流行的php框架,发展势头迅猛,应用非常广泛,有丰富的扩展包可以应付你能想到的各种应用场景,laravel框架思想前卫,跟随时代潮 ...
- laravel框架详解 学以致用
系列文章目录 提示: laravel介绍.文件配置.路由使用 .控制器的使用 . 数据的操作.@csrf防护.文件上传 文章目录 系列文章目录 laravel框架 详解一些功能 学以致用 一.lara ...
最新文章
- mysql 5.7 gtid 主从_MySQL 5.7基于GTID的主从复制实践
- freemarker入门实例与源码研究准备工作
- 在spring中使用自定义注解注册监听器
- 数据可视化(二)Matplotlib pandas简易入门
- ElementUI+VUE 日期控件禁用用法
- python数据序列题库_Python题库系列分享一(17道)
- 索尼Xperia 2带壳渲染图曝光:外形依然很索尼
- w ndows SE,2017《wndows可视化编程》在线作业附答案.docx
- 使用Python,OpenCV旋转图像任意角度(完整和局部丢失~)
- 5G简介【华为ICT学堂】笔记
- 限流算法: 漏桶算法和令牌桶算法
- 磁珠法RNA pull down试剂盒、蛋白质-核酸相互作用
- 前端面试经典题目合集--77题
- 【渝粤教育】广东开放大学 工程经济 形成性考核
- matlab音乐键盘模拟,科学网—[原][Matlab][04] Midi音乐键盘 - 王楠的博文
- Android压缩图片和libjpeg库
- 模拟光源 html5,光照渲染——用canvas模拟光照效果
- 开源配置管理系统的选择和搭建
- 深度学习:权重衰减(weight decay)与学习率衰减(learning rate decay)
- 细说嵌入式系统下的驱动程序设计