Laravel: как сделать строку необязательной в маршруте?

В web.php Я имею:

Route::get('car/id/{id}/color/{color?}', 'carController@getCar);

Но я хочу всю часть /color/{color?} быть необязательным, а не только параметр цвета /{color?}Подскажите, пожалуйста, как это сделать?

2 ответа

Попробуй это

Route::get('search/{query?}', 'YourController@method')->where('query','.+')

Лучше использовать параметр строки запроса здесь (теперь вся часть должна быть необязательной по умолчанию)...

Route::get('car', 'carController@getCar);

пример:

car?id=1&color=red
car?id=2
car 

в контроллере getCar Метод

getCart() {
    $id = request()->get('id');
    $color = request()->get('color');
}
Другие вопросы по тегам