Heim > PHP-Framework > Laravel > Laravel-Suche löschen

Laravel-Suche löschen

PHPz
Freigeben: 2023-05-21 10:10:36
Original
522 Leute haben es durchsucht

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:

  1. Laravel Scout installieren

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.

  1. Datenbankmigration

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);
});
Nach dem Login kopieren

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.

  1. Verwenden Sie Scout, um das Modell zu markieren

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;

// ...
Nach dem Login kopieren

}

Nachdem dieser Vorgang abgeschlossen ist, werden die Funktionen save(), delete() und wiederherstellen des Modells ausgeführt ()- und forceDelete()-Methoden werden automatisch mit Suchmaschinen synchronisiert.

  1. Verwenden Sie Algolia oder ElasticSearch

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:

1 Wählen Sie die zu löschenden Daten in den Suchergebnissen aus.

2. Markieren Sie diese Daten als „Löschen“, aktualisieren Sie die Datenbank und löschen Sie diese Daten aus Suchmaschinen.

aus der Engine gelöscht. Als Nächstes besprechen wir, wie Massenlöschungen in Suchergebnissen implementiert werden.

3. Implementieren Sie Stapellöschvorgänge

Bevor 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;
}
Nach dem Login kopieren
Im obigen Code durchlaufen wir alle zu löschenden Notizobjekte und markieren sie in der Datenbank und in der Suchmaschine als gelöscht. Dieser Vorgang ist dem einmaligen Löschen sehr ähnlich.

4. Zusammenfassung

In diesem Artikel wird die Implementierung von Suchen und Löschen in Laravel-Anwendungen vorgestellt und die grundlegenden Verwendungs- und Controller-Verarbeitungsmethoden des Laravel-Frameworks und des Scout-Moduls behandelt. Sie können dieses Beispiel verwenden, um dieselbe Funktion in Ihrer eigenen Laravel-Anwendung zu implementieren und so Ihre Entwicklung komfortabler zu gestalten.

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage