ホームページ  >  記事  >  PHPフレームワーク  >  Laravelでユーザーを削除する方法

Laravelでユーザーを削除する方法

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

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(&#39;users.delete&#39;, $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 サイトの他の関連記事を参照してください。

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