Перенаправление::маршрут с параметром в URL в Laravel 5
Я разрабатываю приложение Laravel 5, у меня есть этот маршрут
Route::get('states/{id}/regions', ['as' => 'regions', 'uses' => 'RegionController@index']);
В моем контроллере, после того как я правильно выполню вызов post, я хочу перенаправить на это представление с помощью этой команды:
return \Redirect::route('regions')->with('message', 'State saved correctly!!!');
Проблема в том, что я не знаю, как передать параметр {id}, который должен быть в моем URL.
Спасибо.
4 answers
Вы можете передать параметры маршрута в качестве второго аргумента route()
:
return \Redirect::route('regions', [$id])->with('message', 'State saved correctly!!!');
Если это только один, вам также не нужно записывать его в виде массива:
return \Redirect::route('regions', $id)->with('message', 'State saved correctly!!!');
Если у вашего маршрута больше параметров или если у него только один, но вы хотите четко указать, какой параметр имеет каждое значение (для удобства чтения), вы всегда можете сделать это:
return \Redirect::route('regions', ['id'=>$id,'OTHER_PARAM'=>'XXX',...])->with('message', 'State saved correctly!!!');
Вы все еще можете сделать это так:
return redirect()->route('regions', $id)->with('message', 'State saved correctly!!!');
В случаях, когда у вас несколько параметров, вы можете передать параметры в виде массива, например, скажем, вам нужно было проехать столицу определенного региона по вашему маршруту, ваш маршрут может выглядеть примерно так:
Route::get('states/{id}/regions/{capital}', ['as' => 'regions', 'uses' => 'RegionController@index']);
И затем вы можете перенаправить, используя:
return redirect()->route('regions', ['id' = $id, 'capital' => $capital])->with('message', 'State saved correctly!!!');
Вы можете передать параметр {id} с перенаправлением таким образом
return \Redirect::route('regions', [$id])->with('message', 'State saved correctly!!!');
Есть несколько способов перенаправить этот URL-адрес в laravel:
1. Использование URL-адреса с глобальной вспомогательной функцией перенаправленияreturn redirect('states/'.$id.'/regions')->with('message', 'State saved correctly!!!');
2. Использование именованного маршрутаreturn redirect()->route('regions', ['id' => $id])->with('message', 'State saved correctly!!!');
3. Использование действия контроллераreturn redirect()->action('RegionController@index', ['id' => $id])->with('message', 'State saved correctly!!!');