Мой маршрут установлен как
Route::any('/{brand?}/{type?}/{city?}', 'SearchController@index')->name('search');
Я хочу отправить из моего контроллера строки запроса (параметры формы GET)
После поиска я закончил с этим, но он не работает должным образом
return redirect()->route('search', [$brand->name, $type->name, 'search_model_from' => $request->search_model_from, 'search_model_to' => $request->search_model_to]);
который возвращается обратно
локальный: 8000 / toyota / avalon / 2018? search_model_to = 2019
я хочу вернуться
локальный: 8000 / toyota / avalon /? search_model_from = 2018 и search_model_to = 2019
В общем, я пытаюсь достичь удобной для SEO функциональности поиска.
Может быть, вам стоит попробовать присвоить city нулевому значению, например: return redirect()->route('search', ['brand' => $brand->name, 'type' => $type->name, 'city' => '', 'search_model_from' => $request->search_model_from, 'search_model_to' => $request->search_model_to]);
@JulienMetral Да, это решило это :) Добавьте его в качестве ответа, чтобы я мог отметить как решенное .. И спасибо, добрый сэр






Может быть, вам стоит попробовать присвоить city как null вот так:
return redirect()->route('search', [
'brand' => $brand->name, 'type' => $type->name,
'city' => '', 'search_model_from' => $request->search_model_from,
'search_model_to' => $request->search_model_to
]);
Я не уверен, но это могло произойти, потому что вы определили 3 необязательных параметра в маршруте, и поскольку вы отправляете только два из них, это может принять следующий (в данном случае search_model_from) в качестве третьего параметра для url.
Возможно, если вы приведете и установите значение по умолчанию для дополнительных параметров в вашем контроллере, у вас не будет этой проблемы, например:
public function index(string $brand='', string $type='', string $city='' , $other_parameters)
вы можете добавить сюда свой метод
SearchController@index?