You can pass route parameters as the second argument to route() :
return \Redirect::route('regions', [$id])->with('message', 'State saved correctly!!!');
If this is only one, you also do not need to write it as an array:
return \Redirect::route('regions', $id)->with('message', 'State saved correctly!!!');
If your route has more parameters or it has only one, but you want to clearly indicate which parameter each value has (for readability), you can always do this:
return \Redirect::route('regions', ['id'=>$id,'OTHER_PARAM'=>'XXX',...])->with('message', 'State saved correctly!!!');
source share