Laravel中软删除是真的删除吗,怎么实现软删除
Admin 2022-06-14 群英技术资讯 732 次浏览
在“Laravel5.4”中,软删除指的是将表记录的状态标记上删除状态,并不是真正的从数据库中删除了,这样在查询的时候就可以添加过滤;软删除能够在表中以“deleted_at”字段值进行标识,默认值为null。
本文操作环境:Windows10系统、Laravel5.4版、Dell G3电脑。
软删除并不是真的从数据库中删除掉了, 而是在表中以deleted_at(这个字段的名称也是固定的)这个字段值标识的, 需要在设计表的时候呢添加这个字段 deleted_at, 默认值为null,
所谓软删除指的是数据表记录并未真的从数据库删除,而是将表记录的标识状态标记为软删除,这样在查询的时候就可以加以过滤,让对应表记录看上去是被”删除“了。Laravel中使用了一个日期字段作为标识状态,这个日期字段可以自定义,这里我们使用deleted_at,如果对应模型被软删除,则deleted_at字段的值为删除时间,否则该值为空。
软删除就是逻辑删除,数据保留单标记上删除状态,一般我们会用删除时间来作为标记,这样标记状态有了,删除时间也有了。
类型为 timestamp('deleted_at')
在模型中添加 use SoftDeletes
use Illuminate\Database\Eloquent\SoftDeletes; class TestModel extends Model { use SoftDeletes; protected $dates = ['deleted_at']; }
示例如下:
用Laravel 自带的 Eloquent ORM 来实现软删除。
首先在数据迁移文件中添加删除时间字段
./database/migrations/2014_10_12_000000_create_users_table.php
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); $table->softDeletes()->comment('删除时间');// 默认添加 deleted_at 字段 }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('users'); } };
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
不少刚接触的php多进程的朋友,对于php多进程中的阻塞与非阻塞不是清楚,因此这篇文章就给大家分享关于php中的阻塞与非阻塞的操作实例,希望对大家学习和理解php多进程中的阻塞与非阻塞有帮助。
这篇文章通过实例代码介绍了PHP实现JWT的Token登录认证的方式,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
php中array_filter清除空值:1、array_filter的作用是用回调函数过滤数组中的单元,第二个参数其实是个回调函数,向数组的每个成员都执行这个回调函数。2、若回调函数的返回值为true,便保留这个成员,为false则忽略。
这篇文章主要介绍了PHP使用JPGRAPH制作圆柱图的方法,结合实例形式详细分析了PHP使用JPGRAPH绘制圆柱图形的具体步骤与相关操作技巧,需要的朋友可以参考下
首先,为什么会存在循环?代码为什么要用循环?在我们的日常使用中,会遇到需要反复运行同一代码块。我们可以使用循环来执行这样的任务,而不是添加若干几乎相等的代码行,显得臃肿。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008