Das Suchen und Löschen von Laravel ist eine sehr häufige Entwicklungsanforderung, insbesondere bei der Entwicklung von Anwendungen, die CRUD-Operationen für Daten erfordern, wie z. B. Content-Management-Systeme oder E-Commerce-Websites. Laravel bietet als beliebtes PHP-Framework eine Fülle von Tools und APIs, die diesen Prozess sehr einfach machen.
1. Laravel Search
Die Implementierung der Suchfunktion in Laravel erfordert normalerweise die folgenden Schritte:
Laravel Scout ist für Anwendungen geeignet, die Suchergebnisse klassifizieren und optimieren. Schnell, Abfragekomponenten lassen sich einfacher umgestalten. Laravel Scout verwendet Elasticsearch oder Algolia, um Suchen durchzuführen. Diese Suchmaschinen sind sehr beliebt und werden umfassend von der Community unterstützt.
Basierend auf der Einrichtung der Modell-, Controller- und Datenbankmigrationsdateien in der Laravel-Anwendung müssen wir suchbezogene Datenbankmigrationsvorgänge durchführen.
Zum Beispiel können wir in der Benutzerdatenbank eine Spalte „durchsuchbar“ hinzufügen:
Schema::table('users', function (Blueprint $table) { $table->boolean('searchable')->default(false); });
Hier können wir den Standardwert false für durchsuchbar setzen, d. h. der Benutzer möchte nicht durchsucht werden. Es kann auch so konfiguriert werden, dass „searchable“ nach dem Bearbeiten der Benutzerinformationen auf „true“ gesetzt wird, sodass der Benutzer durchsucht werden kann.
Bei Verwendung von Laravel Scout müssen wir das Merkmal Searchable im entsprechenden Modell verwenden.
Zum Beispiel:
Namespace-App;
Verwenden Sie IlluminateDatabaseEloquentModel;
Verwenden Sie LaravelScoutSearchable;
Klassenbenutzer erweitert Modell
{
use Searchable; // ...
}
Nachdem dieser Vorgang abgeschlossen ist, werden die Funktionen save(), delete() und wiederherstellen des Modells ausgeführt ()- und forceDelete()-Methoden werden automatisch mit Suchmaschinen synchronisiert.
Erstellen Sie Indizes und formatieren Sie Suchergebnisse in Algolia oder ElasticSearch. Um Suchergebnisse zu optimieren, können wir Scouts Searchable-Merkmal in Laravel verwenden.
Zum Beispiel in Algolia:
Namespace-App;
Verwenden Sie AlgoliaScoutExtendedSearchableAggregator;
in der CRUD-Anwendung von Lara In vel, Löschvorgänge kommen sehr häufig vor. Das Entfernen aus den Suchergebnissen ist eine relativ komplexe Aufgabe, da die gelöschten Daten automatisch aus der Suchmaschine entfernt werden müssen. Das bedeutet, dass wir die Datenbank betreiben müssen.
Das Folgende ist der allgemeine Vorgang zum Suchen und Löschen von Daten:
aus der Engine gelöscht. Als Nächstes besprechen wir, wie Massenlöschungen in Suchergebnissen implementiert werden. 3. Implementieren Sie StapellöschvorgängeBevor wir mehrere Ergebnisse löschen, müssen wir im Frontend ein Mehrfachauswahlfeld und eine Schaltfläche zum Löschen entwickeln. Dann müssen wir den Batch-Löschvorgang im Controller implementieren. Dieser Teil des Codes beinhaltet:
Holen Sie sich alle zu löschenden Notizen.
Markieren Sie diese Notizen in der Datenbank als „Löschen“.
Entfernen Sie diese Notizen aus Suchmaschinen.
Weiterleitung zur ursprünglichen Route.
Implementieren Sie beispielsweise in der Datei NoteController.php den Stapellöschvorgang:
use Searchable, Aggregator; public function toSearchableArray() { $array = $this->toArray(); // 请求注入时,我们需要更新查询升级和向量分配 $array = $this->seoInject Boosts($array, [ 'title' => 1000, 'content' => 100, 'body' => 10, ]); return $array; }
Das obige ist der detaillierte Inhalt vonLaravel-Suche löschen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!