在本篇文章中,我将给大家介绍如何从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!');
- }
新闻热点
疑难解答