Самый простой способ сделать это - создать два новых маршрута: один для утверждения, а другой для отклонения.
Route::post('/approve/{id}', 'AdminLeaveController@approve')->name('admin.approve')
Route::post('/decline/{id}', 'AdminLeaveController@decline')->name('admin.decline')
Теперь, когда у вас есть эти маршруты, вы можете добавить их к своим кнопкам:
<a href="{{route('admin.approve', $leave->id)}}" class="btn btn-success">Approve</a> //pass the id here
<a href="{{route('admin.decline', $leave->id)}}" class="btn btn-danger">Decline</a> //pass the id here as well
После этого вы можете добавить столбец boolean
к вашему leaves
table, что-то вроде status, где 0 будет отклонено, а 1 будет утверждено.
Все, что осталось сделать, - это создать два новых метода в вашем AdminLeaveController
:
public function approve($id){
$leave = App\Models\Leave::findOrFail($id);
$leave->status = 1; //Approved
$leave->save();
return redirect()->back(); //Redirect user somewhere
}
public function decline($id){
$leave = App\Models\Leave::findOrFail($id);
$leave->status = 0; //Declined
$leave->save();
return redirect()->back(); //Redirect user somewhere
}
Примечание: код не проверен, сообщите мне, если у вас есть какие-либо ошибки.