Home > Article > PHP Framework > What is soft deletion in laravel5.4
In "Laravel5.4", soft deletion refers to marking the status of the table record as deleted, and it is not actually deleted from the database, so that filtering can be added when querying; soft deletion Deletions can be identified in the table with the "deleted_at" field value, and the default value is null.
The operating environment of this article: Windows 10 system, Laravel version 5.4, Dell G3 computer.
Soft deletion is not really deleted from the database, but the field deleted_at (the name of this field is also fixed) in the table Value identification, you need to add this field deleted_at when designing the table, the default value is null,
The so-called soft deletion means that the data table records are not actually deleted from the database, but the table records are The identification status is marked as soft deleted, so that it can be filtered during querying to make the corresponding table records appear to have been "deleted". Laravel uses a date field as the identification status. This date field can be customized. Here we use deleted_at. If the corresponding model is soft-deleted, the value of the deleted_at field is the deletion time, otherwise the value is empty.
Soft deletion is logical deletion. The data retention sheet is marked with the deletion status. Generally, we will use the deletion time as the mark, so that the mark status is available and the deletion time is also available.
The type is timestamp('deleted_at')
Add use SoftDeletes in the model
use Illuminate\Database\Eloquent\SoftDeletes; class TestModel extends Model { use SoftDeletes; protected $dates = ['deleted_at']; }
The example is as follows:
Use Laravel’s own Eloquent ORM to implement soft deletion.
First add the deletion time field in the data migration file
./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'); } };
[Related recommendations: laravel video tutorial]
The above is the detailed content of What is soft deletion in laravel5.4. For more information, please follow other related articles on the PHP Chinese website!