🗂
Laravel Controller からのセッション
Laravelでコントローラーからセッションを送り、セッションによって表示の色を変えたいと思ったので色々調べてみました。
public function update(Request $request, string $id)
{
$owner = Owner::findOrFail($id);
$owner->name = $request->name;
$owner->email = $request->email;
$owner->password = Hash::make($request->password);
$owner->save();
return redirect()->route('admin.owners.index')
->with(
['message'=>'オーナー情報を更新致しました。',
'status'=>'info']
);
}
コントローラーで実際にmessageとstatusで表示を分けれるようにしました。
<x-flash-message status="session('status')" />
viewファイルでさらに分別
@props(['status' => 'info'])
@php
if(session('status') == 'info'){
$bgColor ='bg-blue-300';
}
if(session('status') == 'alert'){
$bgColor ='bg-red-500';
}
@endphp
@if(session('message'))
<div class="{{$bgColor}} w-1/2 mx-auto p-2 text-white">
{{session('message')}}
</div>
@endif
こちらでsessionでstatusの値によってバックグラウンドカラーを変更できるようになりました。
Discussion