Используйте pageNation, чтобы запросить значение страницы у контроллера. Но почему никакие параметры не могут дойти до контроллера?
Route::get('/index', 'Penpal\ViewController@index')->name('penpal.index');
<form action = "{!! route('penpal.index', ['menu' => 'p11-c3']) !!}" method = "get">
<select id = "inputState" class = "form-control" style = "height:35px; width:80%" name = "pagination" onchange = "this.form.submit()">
<option value = "3">@lang('penpal/component/indexMenu.twelve')</option>
<option value = "4">@lang('penpal/component/indexMenu.twenty_four')</option>
<option value = "5">@lang('penpal/component/indexMenu.thirty_six')</option>
</select>
</form>
public function index (Request $request){
return $request;\
}
Параметр с именем «меню» не может быть получен от контроллера.
Ваш <form>
использует method='get'
вместо method='POST'
(который используется для отправки данных в запрос через форму.
Вам также нужно будет использовать @csrf
в своем шаблоне блейда, иначе вы не сможете публиковать данные:
<form action = "{!! route('penpal.index', ['menu' => 'p11-c3']) !!}" method = "POST">
@csrf
<select id = "inputState" class = "form-control" style = "height:35px; width:80%" name = "pagination" onchange = "this.form.submit()">
<option value = "3">@lang('penpal/component/indexMenu.twelve')</option>
<option value = "4">@lang('penpal/component/indexMenu.twenty_four')</option>
<option value = "5">@lang('penpal/component/indexMenu.thirty_six')</option>
</select>
</form>
Наконец, убедитесь, что ваш маршрут является маршрутом ::post()
.
Use Post method both route and form
<form action = "{!! route('penpal.index', ['menu' => 'p11-c3']) !!}" method = "post">
Route::match(['get','post'],'/index', 'Penpal\ViewController@index')->name('penpal.index');
Вы не установили никаких параметров маршрута для своего маршрута и не передали их методу вашего контроллера. И было бы лучше использовать POST, чем GET.
Измените это на
Route::get('/index', 'Penpal\ViewController@index')->name('penpal.index');
это
Route::post('/index/{menu?}', 'Penpal\ViewController@index')->name('penpal.index');
и твоя форма
<form action = "{{ route('penpal.index', ['menu' => 'p11-c3']) }}" method = "POST">
@csrf
И в вашем методе контроллера вы можете получить переданный параметр
public function index (Request $request, $menu){
print_r($menu);
}
Хотя этот фрагмент кода может решить вопрос, включение объяснения действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос для будущих читателей, и эти люди могут не знать причин вашего предложения кода. Также старайтесь не перегружать свой код пояснительными комментариями, это снижает читабельность как кода, так и пояснений!