在本篇文章中,我將給大家介紹如何從controller控制器中將用戶從一個頁面重定向到另一個頁面。我們通常會使用redirect()方法來重定向控制器中的用戶。
Laravel 5版本提供了redirect(),那么我們可以在Laravel 5.0、Laravel 5.1、Laravel 5.2和Laravel 5.3中簡單地使用redirect()。
下面我們就給大家介紹七種Laravel重定向的方法。
1)重定向到URL
2)重定向回上一頁
3)重定向到指定路由
4)帶參數重定向到指定路由
5)重定向到控制器
6)重定向到帶有參數的控制器
7)使用會話數據重定向
一、重定向URL
下面的例子我簡單的重定向“itsolutionstuff/tags”的URL。
路由:
Route::get('itsolutionstuff/tags', 'HomeController@tags');
控制器:
- public function home()
- {
- return redirect('itsolutionstuff/tags');
- }
二、重定向回上一頁
在這個例子中,我們可以重定向回我們的前一個頁面的URL,所以你可以用兩種方法:
- public function home()
- {
- return back();
- }
- //或者
- public function home2()
- {
- return redirect()->back();
- }
三、重定向到命名路由
代碼示例如下:
路由:
Route::get('itsolutionstuff/tags', array('as'=> 'itsolutionstuff.tags', 'uses' => 'HomeController@tags'));
控制器:
- public function home()
- {
- return redirect()->route('itsolutionstuff.tags');
- }
四、使用參數重定向到命名路由
代碼示例如下:
路由:
Route::get('itsolutionstuff/tag/{id}', array('as'=> 'itsolutionstuff.tag', 'uses' => 'HomeController@tags'));
控制器:
- public function home()
- {
- return redirect()->route('itsolutionstuff.tag',['id'=>17]);
- }
五、重定向到控制器
代碼示例如下:
- public function home()
- {
- return redirect()->action('App/Http/Controllers/HomeController@home');
- }
六、重定向到帶有參數的控制器
代碼示例如下:
- public function home()
- {
- return redirect()->action('App/Http/Controllers/HomeController@home',['id'=>17]);
- }
七、使用會話數據重定向
我們還可以在控制器方法中用路由或url重定向時傳遞閃過的會話消息,如下所示。
- public function home()
- {
- return redirect('home')->with('message', 'Welcome to PHP.cn!');
- }
新聞熱點
疑難解答