php教程laravel5.4中软删除是什么

 所属分类:php教程

 浏览:170次-  评论: 0次-  更新时间:2022-12-12
描述:更多教程资料进入php教程获得。 在“Laravel5.4”中,软删除指的是将表记录的状态标记上删除状态,并不是真正的从数据库中删除了,这样在查...
更多教程资料进入php教程获得。

在“Laravel5.4”中,软删除指的是将表记录的状态标记上删除状态,并不是真正的从数据库中删除了,这样在查询的时候就可以添加过滤;软删除能够在表中以“deleted_at”字段值进行标识,默认值为null。

Laravel 9 保姆级视频教程,想学不会都难!进入学习

本文操作环境:Windows10系统、Laravel5.4版、Dell G3电脑。

laravel5.4中软删除是什么

软删除并不是真的从数据库中删除掉了, 而是在表中以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');
    }
};
登录后复制

【相关推荐:laravel视频教程】

以上就是laravel5.4中软删除是什么的详细内容,更多请关注zzsucai.com其它相关文章!

 标签: Laravel,
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!