Параметр имени маршрута laravel

Используйте 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;\
 }

Параметр с именем «меню» не может быть получен от контроллера.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
102
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ваш <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');

Хотя этот фрагмент кода может решить вопрос, включение объяснения действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос для будущих читателей, и эти люди могут не знать причин вашего предложения кода. Также старайтесь не перегружать свой код пояснительными комментариями, это снижает читабельность как кода, так и пояснений!

Rohan Khude 30.05.2019 12:34

Вы не установили никаких параметров маршрута для своего маршрута и не передали их методу вашего контроллера. И было бы лучше использовать 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);
 }

Другие вопросы по теме