Laravel ist ein leistungsstarkes PHP-Framework mit einem breiten Anwendungsspektrum im Bereich Webentwicklung. Unter diesen ist das Ressourcenrouting eines der sehr wichtigen Konzepte in Laravel, das uns helfen kann, schnell RESTful-APIs zu erstellen. Bei der Verwendung des Ressourcenroutings kommt es häufig zu Löschvorgängen. In diesem Artikel wird daher hauptsächlich der Löschvorgang des Laravel-Ressourcenroutings vorgestellt.
1. Einführung in das Ressourcenrouting
In Laravel kann das Ressourcenrouting über die Route::resource-Methode definiert werden. Diese Methode definiert automatisch sieben häufig verwendete Routing-Operationsmethoden, nämlich: Indizieren, Erstellen, Speichern, Anzeigen, Bearbeiten, Aktualisieren und Zerstören.
Zum Beispiel können wir eine einfache Ressourcenroute durch den folgenden Code definieren:
Route::resource('posts', 'PostController');
Auf diese Weise generiert Laravel automatisch /posts, /posts/create, /posts/{post}, /posts/{post}/ Bearbeiten Sie für uns. Warten Sie auf sieben Routen.
2. Löschvorgang
Beim Ressourcenrouting entspricht der Löschvorgang der Zerstörungsmethode. Wenn der Benutzer in der Webanwendung auf die Schaltfläche „Löschen“ klickt, müssen wir eine DELETE-Anfrage erstellen und Laravel ruft die Methode destroy auf, um den Vorgang abzuschließen.
Wir müssen eine Route für die Zerstörungsmethode definieren, zum Beispiel:
Route::delete('posts/{post}', 'PostController@destroy')->name('posts.destroy');
Diese Route stimmt mit der DELETE-Anfrage und dem /posts/{post}-Pfad überein und leitet die Anfrage an die Zerstörungsmethode weiter des PostControllers.
Im Controller müssen wir das dem Löschvorgang entsprechende Entitätsobjekt abrufen und die Löschmethode aufrufen, um es aus der Datenbank zu löschen. Zum Beispiel:
public function destroy($id) { $post = Post::find($id); $post->delete(); return redirect()->route('posts.index'); }
Hier verwenden wir zunächst die Post::find-Methode, um das zu löschende Entitätsobjekt zu finden, und verwenden dann die Löschmethode, um es aus der Datenbank zu löschen. Schließlich verwenden wir die Weiterleitungsmethode, um den Benutzer auf die Seite mit der Beitragsliste umzuleiten.
Im HTML-Formular müssen wir ein Formular für die Löschschaltfläche generieren und darin ein verstecktes Feld _method hinzufügen, um anzugeben, dass es sich um eine DELETE-Anfrage handelt.
Zum Beispiel können wir den folgenden Code verwenden, um eine Löschschaltfläche zu generieren:
<form action="{{ route('posts.destroy', $post->id) }}" method="POST"> {{ csrf_field() }} {{ method_field('DELETE') }} <button type="submit">删除</button> </form>
Hier verwenden wir die Route-Methode, um den /posts/{post}-Pfad mit Parametern zu generieren, und setzen das Methodenattribut des Formulars auf DELETE . Anschließend verwenden wir die Methode csrf_field, um das CSRF-Token zu generieren, und die Methode method_field, um das Feld _method zu generieren.
Abschließend können wir bei der Definition der Route einen benannten Routennamen posts.destroy für die Destroy-Methode festlegen. Dieser Name kann uns helfen, die URL einfacher zu generieren und nach Abschluss des Löschvorgangs auf die Seite weiterzuleiten.
Zum Beispiel können wir den folgenden Code verwenden, um eine Weiterleitungsantwort zu generieren:
return redirect()->route('posts.index');
Hier verwenden wir die Route-Methode und übergeben den Parameter posts.index, um den Pfad posts.index zu generieren, wodurch der Benutzer zu den Beiträgen weitergeleitet wird Listenseite.
3. Zusammenfassung
Durch die oben genannten Schritte können wir den Löschvorgang des Ressourcenroutings problemlos in Laravel implementieren. Wenn der Benutzer in der Webanwendung auf die Schaltfläche „Löschen“ klickt, erstellt Laravel eine DELETE-Anfrage und ruft die Destroy-Methode des Controllers auf, um den Löschvorgang abzuschließen. Die Verwendung benannter Routen erleichtert die Generierung von URLs und die Umleitung von Antworten.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Löschvorgangs des Laravel-Ressourcenroutings. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!