[Laravel 備忘録] Laravel Authでユーザー情報変更機能実装

  • このエントリーをはてなブックマークに追加

ProfileController作成

sail artisan make:controller ProfileController

routes/web.phpに以下を追記

// プロフィールの表示と編集
Route::get('/profile', [ProfileController::class, 'index'])->middleware(['auth']);
Route::get('/profile/edit', [ProfileController::class, 'edit'])->middleware(['auth']);
Route::post('/profile/edit', [ProfileController::class, 'update'])->middleware(['auth']);

ProfileController.php

    public function edit()
    {
        return view('profile.edit');
    }

    public function update(Request $request)
    {
        $request->validate([
            'name' => ['required', 'string', 'max:255'],
        ]);
        // Authからuser取り出し
        $user = Auth::user();
        $params = $request->all();
        // パラメータをセットして更新
        $user->fill($params)->save();

        // flashメッセージつけてリダイレクト
        return redirect('/profile')->with('flash_message', 'ユーザー情報を編集しました');
    }

viewファイルの適当な箇所(おそらくlayoutファイル)に以下を記述

                @if (session('flash_message'))
                    <div class="max-w-7xl mx-auto  bg-blue-100 border border-blue-500 text-blue-700 px-4 py-3 rounded" role="alert">
                        <p class="text-sm">{{ session('flash_message') }}</p>
                    </div>
                @endif

参考

https://teratail.com/questions/284796

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*