Heim  >  Artikel  >  PHP-Framework  >  Was ist weiches Löschen in Laravel5.4?

Was ist weiches Löschen in Laravel5.4?

WBOY
WBOYOriginal
2022-06-01 16:09:461838Durchsuche

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.

Was ist weiches Löschen in Laravel5.4?

Die Betriebsumgebung dieses Artikels: Windows 10-System, Laravel Version 5.4, Dell G3-Computer.

Was ist Soft-Deletion in Laravel5.4?

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(&#39;users&#39;, function (Blueprint $table) {
            $table->id();
            $table->string(&#39;name&#39;);
            $table->string(&#39;email&#39;)->unique();
            $table->timestamp(&#39;email_verified_at&#39;)->nullable();
            $table->string(&#39;password&#39;);
            $table->rememberToken();
            $table->timestamps();
            $table->softDeletes()->comment(&#39;删除时间&#39;);// 默认添加 deleted_at 字段
        });
    }
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists(&#39;users&#39;);
    }
};

[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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn