Маршруты Laravel 5 (пара необязательных параметров)

Мне нужно сделать функционал, когда у действия есть два необязательных параметра.

Итак, действие можно было бы назвать так:

site/man/process/age/30/weight/80, 

site/man/process/age/30,

site/man/process/weight/80,

site/man/process/

Я пытаюсь использовать такой маршрут:

Route::get('man/process/age/{age?}/weight/{weight?}', 'ManController@process');

Но безуспешно. Кто-нибудь знает, как это правильно сделать?

Спасибо за любую помощь и совет.

Я думаю, вы должны сделать свои параметры в виде строки запроса, а не что-то в этом роде. так получится что-то вроде .. /man/process?age=10&weight=20

Hitori 09.10.2018 13:54

Я думаю, вам следует изучить возможность прокладки нескольких маршрутов. Самый высокий - это текущий маршрут.

thisiskelvin 09.10.2018 13:55
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
2
273
3

Ответы 3

Я бы использовал совершенно другой подход к передаче этих переменных через параметры маршрута.

Рассмотрите возможность отправки запроса POST с указанием возраста и веса в теле запроса, а затем доступа к этим значениям в вашем контроллере с помощью $ request-> all ();

редактировать с примером:

Route::post('man/process', 'ManController@process');

Затем в методе вашего контроллера process ():

process(Request $request)
{
  // Data in this case would contain age and weight
  $data = $request->all();
}

Я бы даже пошел так далеко, чтобы использовать запрос GET, например. man/process?age=31&weight=80.

thisiskelvin 09.10.2018 13:57
Route::get('man/process', 'ManController@process');
URL : /man/process?age=10&weight=20

Вы можете использовать запрос GET и передать параметры в виде строки запроса.

Route::get('man/process', 'ManController@process');
URL : /man/process?age=10&weight=20

Или используйте POST Request и передайте то, что хотите получить:

public function getData(Request $request)
{
  // Data in this case would contain age and weight
  $data = $request->all();
}

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