Redirect::route 参数在 URL 中 Laravel 5
Redirect::route with parameter in URL in 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.
谢谢。
您可以将路由参数作为第二个参数传递给 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!!!');
有几种方法可以在 laravel 中重定向此 URL:
将URL与全局重定向辅助函数一起使用
return redirect('states/'.$id.'/regions')->with('message', 'State saved correctly!!!');
使用命名路由
return redirect()->route('regions', ['id' => $id])->with('message', 'State saved correctly!!!');
使用控制器操作
return redirect()->action('RegionController@index', ['id' => $id])->with('message', 'State saved correctly!!!');
如果路由器包含这样的:
Route::get('/displayCustomer/{id}','AdminController@displayCustomer')->middleware('auth','admin');
并且在控制器中重定向可以像这样完成
public function displayCustomer($id){
$user = DB::table('customer_infos')->where('customer_id', $id)->first();
return view('admin.DisplayCustomer', compact('user', $user));
}
public function approveCustomerInvoice(Request $request,$id)
{
$customer = CustomerInfo::find($id);
$customer->status = 1;
$customer->save();
return redirect()->action('AdminController@displayCustomer', ['id' => $id])->with('message', 'Customer Invoice Approved!!!');
}
您可以使用以下
return redirect(route('addPost1',['pid',$post->id]));
或
return redirect(route('addPost1'))->with('pid',$post->id);
您可以在外部使用 url 和 id 分配一个变量,并在重定向内部调用它。
$url = 'view_customer/' . $id;
return redirect($url)->with('message', "Customer Page");
我正在开发一个 Laravel 5 应用程序,我有这条路线
Route::get('states/{id}/regions', ['as' => 'regions', 'uses' => 'RegionController@index']);
在我的控制器中,在正确调用 post 之后,我想使用以下命令重定向到该视图:
return \Redirect::route('regions')->with('message', 'State saved correctly!!!');
问题是我不知道如何传递 {id} 参数,它应该在我的 URL.
谢谢。
您可以将路由参数作为第二个参数传递给 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!!!');
有几种方法可以在 laravel 中重定向此 URL:
将URL与全局重定向辅助函数一起使用
return redirect('states/'.$id.'/regions')->with('message', 'State saved correctly!!!');
使用命名路由
return redirect()->route('regions', ['id' => $id])->with('message', 'State saved correctly!!!');
使用控制器操作
return redirect()->action('RegionController@index', ['id' => $id])->with('message', 'State saved correctly!!!');
如果路由器包含这样的:
Route::get('/displayCustomer/{id}','AdminController@displayCustomer')->middleware('auth','admin');
并且在控制器中重定向可以像这样完成
public function displayCustomer($id){
$user = DB::table('customer_infos')->where('customer_id', $id)->first();
return view('admin.DisplayCustomer', compact('user', $user));
}
public function approveCustomerInvoice(Request $request,$id)
{
$customer = CustomerInfo::find($id);
$customer->status = 1;
$customer->save();
return redirect()->action('AdminController@displayCustomer', ['id' => $id])->with('message', 'Customer Invoice Approved!!!');
}
您可以使用以下
return redirect(route('addPost1',['pid',$post->id]));
或
return redirect(route('addPost1'))->with('pid',$post->id);
您可以在外部使用 url 和 id 分配一个变量,并在重定向内部调用它。
$url = 'view_customer/' . $id;
return redirect($url)->with('message', "Customer Page");