Laravel ist ein beliebtes PHP-Framework, das viele leistungsstarke Funktionen und benutzerfreundliche Tools bietet, um Entwicklern bei der Entwicklung effizienter, skalierbarer und leicht zu wartender Webanwendungen zu helfen. Die Soft-Delete-Funktion von Laravel ist eine sehr nützliche Funktion, die es Entwicklern ermöglicht, Daten in der Datenbank einfach zu löschen, ohne die Integrität der Datenbank zu zerstören. Manchmal müssen Entwickler jedoch möglicherweise das Soft-Delete-Feld von Laravel in einen anderen Namen ändern, um ihren spezifischen Anforderungen gerecht zu werden. In diesem Artikel erfahren Sie, wie Sie das Soft-Delete-Feld in Laravel in einen anderen Namen ändern.
Laravel Soft Deletion
In Laravel wird Soft Deletion dadurch erreicht, dass die Daten als „Löschen“ markiert werden, anstatt die Daten tatsächlich aus der Datenbank zu löschen. Die Funktion zum vorläufigen Löschen zerstört nicht die Integrität der Datenbank, da die vorläufig gelöschten Daten noch in der Datenbank vorhanden sind, jedoch als „gelöscht“ markiert wurden und nicht in den Abfrageergebnissen angezeigt werden. Das weiche Löschen von Laravel besteht hauptsächlich aus zwei Schritten:
Um die Soft-Delete-Funktion von Laravel zu verwenden, müssen Sie hinzufügen SoftDeletes-Funktion zum vorläufigen Löschen von Modellen. Die Modelle von Laravel verwenden Merkmale, um zusätzliche Funktionalität hinzuzufügen. Das Merkmal SoftDeletes ist ein Merkmal, das von Laravel bereitgestellt wird.
use IlluminateDatabaseEloquentModels; use IlluminateDatabaseEloquentSoftDeletes; class Example extends Model{ use SoftDeletes; protected $dates = ['deleted_at']; //... }
Im obigen Code gibt die use SoftDeletes-Anweisung an, dass wir die von Laravel bereitgestellte SoftDeletes-Funktion verwenden möchten. Gleichzeitig müssen Sie auch das Attribut $dates verwenden, um den Namen des Soft-Deletion-Zeitstempelfelds zu definieren, das zur Identifizierung des Löschzeitpunkts verwendet wird. Das Standardfeld für den Soft-Delete-Zeitstempel ist „deleted_at“, Sie können jedoch auch andere Namen verwenden.
Die SoftDeletes-Funktion von Laravel bietet stattdessen eine Löschmethode, die einen Löschvorgang durchführt, ohne Daten tatsächlich zu löschen Die Daten werden als „gelöscht“ gekennzeichnet. Zum Beispiel:
$example = Example::find(1); $example->delete();
Der obige Code markiert die Daten mit der ID 1 als „gelöscht“, löscht sie jedoch nicht aus der Datenbank.
Um vorläufig gelöschte Daten abzufragen, können Sie die Methode „withTrashed“ verwenden, um alle Daten einschließlich der vorläufig gelöschten Daten abzurufen, oder die Methode „onlyTrashed“, um nur gelöschte Daten abzurufen. Zum Beispiel:
// 查询包括软删除数据在内的所有数据 $examples = Example::withTrashed()->get(); // 查询删除的数据 $deletedExamples = Example::onlyTrashed()->get();
Die oben genannten Codes können verwendet werden, um vorläufig gelöschte Daten bzw. gelöschte Daten abzufragen.
Ändern Sie das vorläufig gelöschte Laravel-Feld in einen anderen Namen.
Standardmäßig verwendet Laravel das Feld „deleted_at“, um das Löschzeitstempelfeld zu identifizieren, was die Abfrage vorläufig gelöschter Daten erleichtert Daten Sehr praktisch.
In einigen Fällen müssen Entwickler jedoch möglicherweise andere Attribute verwenden, um die Entfernung des Zeitstempelfelds anzuzeigen. Wenn Sie den Namen eines vorläufig gelöschten Felds in Laravel ändern müssen, können Sie die Methode „deledAt“ in Ihrem Modell definieren. Zum Beispiel:
use IlluminateDatabaseEloquentModel; use IlluminateDatabaseEloquentSoftDeletes; class Example extends Model{ use SoftDeletes; protected $dates = ['my_deleted_at']; public function getDeletedAtColumn() { return 'my_deleted_at'; } // ... }
Im obigen Code ändern wir „deleted_at“ im $dates-Attribut in „my_deleted_at“ und verwenden die getDeletedAtColumn-Methode, um das vorläufig gelöschte Laravel-Feld in „my_deleted_at“ zu ändern.
Vorläufiges Löschen kann dann durchgeführt werden mit:
$example = Example::find(1); $example->delete();
Laravel verwendet das Feld „my_deleted_at“ anstelle des Standardfelds „deled_at“, um die Daten als gelöscht zu markieren. Zur Abfragezeit können Sie die Methoden withTrashed und onlyTrashed verwenden, um gelöschte Daten abzurufen.
Zusammenfassung
In Laravel ist es durch die Verwendung von Soft-Delete einfach, Daten als „gelöscht“ zu markieren, ohne sie tatsächlich zu löschen. Die SoftDeletes-Funktion von Laravel bietet eine einfache Möglichkeit, vorläufige Löschungen durchzuführen. Standardmäßig verwendet Laravel das Feld „deleted_at“, um Löschzeitstempelfelder zu identifizieren. Entwickler können das Feld jedoch mithilfe der Methode getDeletedAtColumn in einen anderen Namen ändern. Unabhängig von der Lösung ist das sanfte Löschen eine sehr leistungsstarke und praktische Funktion in Laravel.
Das obige ist der detaillierte Inhalt vonDas Soft-Delete-Feld von Laravel wurde in „Andere' geändert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!