Перенаправление::маршрут с параметром в 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.

Спасибо.

Author: Bellots, 2015-05-04

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!!!');
 10
Author: lukasgeiter, 2016-12-03 14:19:25

Вы все еще можете сделать это так:

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!!!');
 2
Author: Awa Melvine, 2016-01-03 19:30:09

Вы можете передать параметр {id} с перенаправлением таким образом

return \Redirect::route('regions', [$id])->with('message', 'State saved correctly!!!');
 0
Author: BeingCoder's, 2016-01-09 08:41:37

Есть несколько способов перенаправить этот 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!!!');

 0
Author: Satendra Maurya, 2017-05-11 12:11:18