ホームページ > 記事 > PHPフレームワーク > Laravelでユーザーを削除する方法
Laravel フレームワークは、データベースを操作するための強力な機能を提供します。一般的な機能の 1 つは、データベース内のレコードを削除することです。多くのアプリケーションでは、ユーザーを削除する必要があります。この記事では、Laravelでユーザーを削除する方法を説明します。
まず、ユーザー モデルが必要です。すでに持っている場合は、この手順をスキップしてください。以下は単純なユーザー モデルです:
<?php namespace App; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { protected $guarded = []; }
このモデルでは、Laravel の組み込み Authenticatable
クラスを使用します。 $guarded
属性も定義されており、バッチ割り当てできないプロパティを Laravel に伝えます。この場合、プロパティは制限しません。
次に、ユーザーの削除操作を処理するコントローラーが必要です。すでに UserController
コントローラーがあり、destroy
メソッドを定義しているとします。このメソッドはリクエストでユーザー ID を渡し、対応するユーザーを削除します。基本的な UserController
コントローラーは次のとおりです:
<?php namespace App\Http\Controllers; use App\User; use Illuminate\Http\Request; class UserController extends Controller { public function destroy(Request $request) { $user = User::find($request->id); if ($user) { $user->delete(); return redirect('/users')->with('success', 'User deleted successfully'); } return redirect('/users')->with('error', 'User not found'); } }
このコントローラーでは、まずリクエストで渡されたユーザー ID を取得し、次に User
モデル レコードを介してユーザーを検索します。 。ユーザーが見つかった場合は、delete
メソッドを呼び出してユーザー レコードを削除します。ユーザー レコードが存在しない場合は、ユーザー リスト ページにリダイレクトされ、エラー メッセージが表示されます。
ここで、ユーザーの削除リクエストを処理するルートが必要です。以下はルーティング定義です:
Route::delete('/users/{id}', 'UserController@destroy')->name('users.delete');
このルーティングでは、RESTful スタイルのルーティングを使用します。これは、HTTP DELETE リクエストを UserController
コントローラの destroy
メソッドにマップし、リクエスト内のパラメータ {id}
をパラメータとしてメソッドに渡します。
次に、ユーザーのリストを表示し、削除操作を実行するためのビューが必要です。これは単純なユーザー リスト ビューです:
@extends('layouts.app') @section('content') <div class="container"> @if (session('success')) <div class="alert alert-success"> {{ session('success') }} </div> @endif @if (session('error')) <div class="alert alert-danger"> {{ session('error') }} </div> @endif <h3>Users</h3> <table class="table"> <thead> <tr> <th>ID</th> <th>Name</th> <th>Email</th> <th>Actions</th> </tr> </thead> <tbody> @foreach($users as $user) <tr> <td>{{ $user->id }}</td> <td>{{ $user->name }}</td> <td>{{ $user->email }}</td> <td> <form action="{{ route('users.delete', $user->id) }}" method="POST"> @csrf @method('DELETE') <button type="submit" class="btn btn-danger btn-sm">Delete</button> </form> </td> </tr> @endforeach </tbody> </table> </div> @endsection
このビューでは、まず成功メッセージまたはエラー メッセージがあるかどうかを確認します。ある場合には表示させていただきます。次に、すべてのユーザーをリストし、各行の最後に削除ボタンを配置しました。ユーザーが削除ボタンをクリックすると、フォームの DELETE リクエストが users.delete
ルートに送信され、ユーザーの ID がパラメータとして渡されます。
これでLaravelでのユーザーの削除操作が完了しました。ユーザーリストの削除ボタンをクリックすると、UserController
コントローラーの destroy
メソッドが実行され、該当するユーザーが削除され、表示中にユーザーをユーザーリストページにリダイレクトします。成功またはエラー メッセージ。
全体として、Laravel でのユーザーの削除は非常に簡単です。必要なのは、コントローラーを構築し、対応するルートを定義し、ビューを構築し、関連するモデルを設定することだけです。 Laravel フレームワークは、データ操作を処理するための強力なツールを多数提供しており、機能豊富なアプリケーションを迅速に開発できます。
以上がLaravelでユーザーを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。