Более подходящий подход:
Лучше сохранить запрос пользователя после его публикации с флагом столбца под названием «статус», который содержит либо («Ожидает», «Утверждено», «Отклонено») и затем отправьте электронное письмо руководителю
index.blade
<form action="/sendRequest" method="post">
<input type="text">
<input type="text">
<button type="submit">Send</button>
</form>
web. php
Route::get('/sendRequest', 'MyController@sendRequest)
MyController. php
public function sendRequest(Request $request){
// UserRequest table should has column 'status' with default value 'Pending'
$userRequest = UserRequest::create($request->all());
Mail::to('supervisor@abc.com')->send(new ApprovalMail($userRequest));
return redirect('/');
}
Шаблон электронной почты должен только уведомлять супервизора о необходимости выполнить действие с запросом с помощью кнопки «Выполнить действие», которая открывает страницу в браузер, чтобы он совершил действие.
email-template.blade
<!-- User data displayed for example in a table -->
<a href={{ route('takeAction', $userRequest->id) }}>
<button> Take Action <button>
</a>
web. php
Route::get('/take-action/{requestId}', 'SupervisorController@takeAction')
->name('taleAction');
SupervisorController. php
public function takeAction($requestId){
$userRequest = UserRequest::find($requestId);
return view('take-action', [$userRequest]);
}
take-action.blade
<-- User data displayed for example in a table -->
<form method='POST' action={{ route('takeActionPost', $userRequest->id) }}>
@csrf
<input type='hidden' name='action' value='Approved'>
<button type='submit'>Approve</button>
</form>
<form method='POST' action={{ route('takeActionPost', $userRequest->id) }}>
@csrf
<input type='hidden' name='action' value='Rejected'>
<button type='submit'>Rejected</button>
</form>
web. php
Route::post('/take-action/{requestId}', 'SupervisorController@takeActionPost')
->name('takaActionPost');
SupervisorController. php
public function takeActionPost(Request $request, $requestId){
$userRequest = UserRequest::find($requestId);
$userRequest->update(['status', $request->action]);
}
Конечно, я здесь использую очень плохо, я просто хочу объяснить свою идею