Je développe une application Laravel 5, j'ai cette route
Route::get('states/{id}/regions', ['as' => 'regions', 'uses' => 'RegionController@index']);
Dans mon contrôleur, après avoir correctement effectué un appel de publication, je souhaite rediriger vers cette vue à l'aide de la commande suivante:
return \Redirect::route('regions')->with('message', 'State saved correctly!!!');
Le problème est que je ne sais pas comment puis-je passer le paramètre {id}, qui devrait être dans mon URL.
Je vous remercie.
Vous pouvez passer les paramètres de route comme second argument à route()
:
return \Redirect::route('regions', [$id])->with('message', 'State saved correctly!!!');
S'il ne s'agit que d'un fichier, vous n'avez pas besoin de l'écrire sous forme de tableau:
return \Redirect::route('regions', $id)->with('message', 'State saved correctly!!!');
Si votre route a plus de paramètres, ou si elle n'en a qu'un, mais que vous voulez spécifier clairement quel paramètre a chaque valeur (pour des raisons de lisibilité), vous pouvez toujours le faire:
return \Redirect::route('regions', ['id'=>$id,'OTHER_PARAM'=>'XXX',...])->with('message', 'State saved correctly!!!');
Vous pouvez toujours le faire comme ceci:
return redirect()->route('regions', $id)->with('message', 'State saved correctly!!!');
Dans les cas où vous avez plusieurs paramètres, vous pouvez les transmettre sous forme de tableau. Par exemple, si vous deviez indiquer la capitale d'une région particulière de votre itinéraire, votre itinéraire pourrait ressembler à ceci:
Route::get('states/{id}/regions/{capital}', ['as' => 'regions', 'uses' => 'RegionController@index']);
et vous pouvez ensuite rediriger en utilisant:
return redirect()->route('regions', ['id' = $id, 'capital' => $capital])->with('message', 'State saved correctly!!!');
Vous pouvez passer le paramètre {id} avec une redirection comme ça
return \Redirect::route('regions', [$id])->with('message', 'State saved correctly!!!');