Redirect:: маршрут с параметром в 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 ответов
вы можете передать параметры маршрута в качестве второго аргумента в 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 с глобальной функцией redirect helperreturn 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!!!');