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

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

PHPz
PHPzオリジナル
2023-04-23 09:10:36465ブラウズ

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(&#39;posts.destroy&#39;, $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 までご連絡ください。