ホームページ PHPフレームワーク Laravel Laravelリソースルーティングの削除操作の詳細説明

Laravelリソースルーティングの削除操作の詳細説明

Apr 23, 2023 am 09:10 AM

Laravel は、Web 開発分野で幅広いアプリケーションを備えた強力な PHP フレームワークです。その中でも、リソース ルーティングは Laravel の非常に重要な概念の 1 つであり、RESTful API を迅速に構築するのに役立ちます。リソースルーティングを使用するプロセスでは削除操作が非常に頻繁に行われるため、この記事では主にLaravelリソースルーティングの削除操作を紹介します。

1. リソース ルーティングの概要

Laravel では、リソース ルーティングは Route::resource メソッドを通じて定義できます。このメソッドは、一般的に使用される 7 つのルーティング操作メソッド、つまりインデックス、作成、保存、表示、編集、更新、および破棄を自動的に定義します。

たとえば、次のコードを通じて単純なリソース ルートを定義できます:

Route::resource('posts', 'PostController');
ログイン後にコピー

このようにして、Laravel は /posts、/posts/create、/posts/{post} を自動的に生成します。 、/posts/{post}/edit とその他 7 つのルート。

2. 削除操作

リソース ルーティングでは、削除操作は destroy メソッドに対応します。ユーザーがWebアプリケーションの削除ボタンをクリックすると、DELETEリクエストを作成する必要があり、Laravelはdestroyメソッドを呼び出して操作を完了します。

  1. ルートの定義

destroy メソッドのルートを定義する必要があります。例:

Route::delete('posts/{post}', 'PostController@destroy')->name('posts.destroy');
ログイン後にコピー

このルートは DELETE リクエストと /posts に一致します。 /{post } パスを指定して、リクエストを PostController の destroy メソッドに転送します。

  1. コントローラー メソッド

コントローラーでは、削除操作に対応するエンティティ オブジェクトを取得し、delete メソッドを呼び出してデータベースから削除する必要があります。例:

public function destroy($id)
{
    $post = Post::find($id);
    $post->delete();
    return redirect()->route('posts.index');
}
ログイン後にコピー

ここでは、まず Post::find メソッドを使用して削除するエンティティ オブジェクトを検索し、次に delete メソッドを使用してデータベースからエンティティ オブジェクトを削除します。最後に、リダイレクト メソッドを使用してユーザーを投稿リスト ページにリダイレクトします。

  1. HTML フォーム

HTML フォームでは、削除ボタンのフォームを生成し、これが DELETE であることを示すための隠しフィールド _method をそれに追加する必要があります。聞く。

たとえば、次のコードを使用して削除ボタンを生成できます:

<form action="{{ route('posts.destroy', $post->id) }}" method="POST">
    {{ csrf_field() }}
    {{ method_field('DELETE') }}
    <button type="submit">删除</button>
</form>
ログイン後にコピー

ここでは、route メソッドを使用してパラメータ付きの /posts/{post} パスを生成し、 DELETEするフォームのメソッド属性。次に、csrf_field メソッドを使用して CSRF トークンを生成し、method_field メソッドを使用して _method フィールドを生成します。

  1. 名前付きルーティング

最後に、ルートを定義するときに、destroy メソッドに名前付きルート名posts.destroyを設定できます。この名前は、削除操作の完了後に URL を生成し、ページにリダイレクトするのをより簡単にします。

たとえば、次のコードを使用してリダイレクト応答を生成できます:

return redirect()->route('posts.index');
ログイン後にコピー

ここでは、route メソッドを使用し、posts.index パラメータを渡して、posts.index パスを生成します。 、これにより、ユーザーは投稿リストページにリダイレクトされます。

3. まとめ

上記の手順により、Laravel でリソースルーティングの削除操作を簡単に実装することができます。ユーザーがWebアプリケーションの削除ボタンをクリックすると、LaravelはDELETEリクエストを作成し、コントローラーのdestroyメソッドを呼び出して削除を完了します。名前付きルートを使用すると、URL の生成と応答のリダイレクトが容易になります。

以上がLaravelリソースルーティングの削除操作の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Laravel Frameworkのインストール最新方法 Laravel Frameworkのインストール最新方法 Mar 06, 2025 pm 01:59 PM

Laravel Frameworkのインストール最新方法

Laravel-Adminメニュー管理 Laravel-Adminメニュー管理 Mar 06, 2025 pm 02:02 PM

Laravel-Adminメニュー管理

Laravelで高度な機能を備えたRESTFUL APIを構築する方法は? Laravelで高度な機能を備えたRESTFUL APIを構築する方法は? Mar 11, 2025 pm 04:13 PM

Laravelで高度な機能を備えたRESTFUL APIを構築する方法は?

Laravelのバージョンは最高です Laravelのバージョンは最高です Mar 06, 2025 pm 01:58 PM

Laravelのバージョンは最高です

クラウドネイティブ環境でLaravelを使用するためのベストプラクティスは何ですか? クラウドネイティブ環境でLaravelを使用するためのベストプラクティスは何ですか? Mar 14, 2025 pm 01:44 PM

クラウドネイティブ環境でLaravelを使用するためのベストプラクティスは何ですか?

Laravelは他のPHPフレームワーク(Symfony、Codeigniter、Yii)と比較してどうですか? Laravelは他のPHPフレームワーク(Symfony、Codeigniter、Yii)と比較してどうですか? Mar 14, 2025 pm 01:49 PM

Laravelは他のPHPフレームワーク(Symfony、Codeigniter、Yii)と比較してどうですか?

LaravelでOAUTH2認証と承認を実装する方法は? LaravelでOAUTH2認証と承認を実装する方法は? Mar 12, 2025 pm 05:56 PM

LaravelでOAUTH2認証と承認を実装する方法は?

Laravelでカスタムブレードディレクティブを作成および使用するにはどうすればよいですか? Laravelでカスタムブレードディレクティブを作成および使用するにはどうすればよいですか? Mar 17, 2025 pm 02:50 PM

Laravelでカスタムブレードディレクティブを作成および使用するにはどうすればよいですか?

See all articles