Я пытаюсь создать таблицу, которую пользователь может отсортировать
Я создал следующие два маршрута
route::get('/manager', 'Manager\DeadlineController@index')->middleware(['auth', 'auth.manager'])->name('manager.index');
route::post('/manager/{name_id}', 'Manager\DeadlineController@sortByName')->middleware(['auth', 'auth.manager'])->name('manager.sortByName');
из моего php кустарного маршрута: список
| | GET|HEAD | manager | manager.index | App\Http\Controllers\Manager\DeadlineController@index | web,auth,auth.manager |
| | POST | manager/{name_id} | manager.sortByName | App\Http\Controllers\Manager\DeadlineController@sortByName | web,auth,auth.manager |
и настройте мой контроллер следующим образом
public function index()
{
return view('deadline.index')
->with([
'modules' => Module::all(),
'name_id' => 0
]);
}
public function sortByName($name_id){
if($name_id == 0){
$sortedModule = Module::orderBy('name', 'DESC')->get();
}
else{
$sortedModule = Module::orderBy('name', 'ASC')->get();
}
return view('deadline.index')
->with([
'modules' => $sortedModule,
'name_id' => 1
]);
}
, на мой взгляд, я использую следующую ссылку для сортировки
<th scope="col"><a href="{{ route('manager.sortByName', $name_id) }}">NAME</a></th>
, но когда я использую эту ссылку, на мой взгляд, я как-то перенаправлен на мой маршрут GET, потому что я получаю следующую ошибку
The GET method is not supported for this route. Supported methods: POST.
Что я пропускаю или делаю неправильно? Любая помощь или советы будут оценены. Пожалуйста, спросите, нужно ли мне предоставить более подробную информацию
Обновление
Я изменил ссылку в моем представлении на тег формы с кнопкой отправки, и теперь она работает
<th scope="col">
<form action="{{ route('manager.sortByName', $name_id) }}" method="POST">
@csrf
<button type="submit">NAAM</button>
</form>
</th>