In „Laravel 5.4“ bezieht sich Soft Deletion auf das Markieren des Status des Tabellendatensatzes mit dem Löschstatus. Er wird nicht tatsächlich aus der Datenbank gelöscht, sodass eine Filterung während der Abfrage hinzugefügt werden kann wird durch den Feldwert „deleted_at“ identifiziert und der Standardwert ist null.
Die Betriebsumgebung dieses Artikels: Windows 10-System, Laravel Version 5.4, Dell G3-Computer.
Soft-Deletion wird nicht wirklich aus der Datenbank gelöscht, sondern wird in der Tabelle mit dem Feldwert delete_at identifiziert (der Name dieses Feldes ist ebenfalls festgelegt), der hinzugefügt werden muss In der Entwurfstabelle ist der Standardwert beim Hinzufügen dieses Feldes delete_at null.
Die sogenannte weiche Löschung bedeutet, dass die Datentabellendatensätze nicht tatsächlich aus der Datenbank gelöscht werden, sondern der Identifikationsstatus der Tabellendatensätze als weich markiert wird gelöscht, sodass Sie es bei der Abfrage so filtern können, dass die entsprechenden Tabellendatensätze als „gelöscht“ erscheinen. Laravel verwendet ein Datumsfeld als Identifikationsstatus. Dieses Datumsfeld kann angepasst werden. Wenn das entsprechende Modell vorläufig gelöscht ist, ist der Wert des Felds „deled_at“ der Löschzeitpunkt.
Soft-Löschung ist logisches Löschen. Die einzelne Markierung der Datenaufbewahrung ist der Löschstatus. Im Allgemeinen verwenden wir die Löschzeit als Markierung, sodass der Markierungsstatus verfügbar ist und die Löschzeit ebenfalls verfügbar ist.
Der Typ ist timestamp('deleted_at')
Verwenden Sie SoftDeletes
use Illuminate\Database\Eloquent\SoftDeletes; class TestModel extends Model { use SoftDeletes; protected $dates = ['deleted_at']; }
im Modell. Das Beispiel lautet wie folgt:
Verwenden Sie Laravels eigenes Eloquent ORM, um das weiche Löschen zu implementieren.
Fügen Sie zunächst das Löschzeitfeld in der Datenmigrationsdatei hinzu
./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'); } };
[Verwandte Empfehlung: Laravel-Video-Tutorial]
Das obige ist der detaillierte Inhalt vonWas ist weiches Löschen in Laravel5.4?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!