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
参考