Мне нужно сделать функционал, когда у действия есть два необязательных параметра.
Итак, действие можно было бы назвать так:
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');
Но безуспешно. Кто-нибудь знает, как это правильно сделать?
Спасибо за любую помощь и совет.
Я думаю, вам следует изучить возможность прокладки нескольких маршрутов. Самый высокий - это текущий маршрут.






Я бы использовал совершенно другой подход к передаче этих переменных через параметры маршрута.
Рассмотрите возможность отправки запроса 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.
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();
}
Я думаю, вы должны сделать свои параметры в виде строки запроса, а не что-то в этом роде. так получится что-то вроде ..
/man/process?age=10&weight=20