如何在 Laravel 中进行简单的重定向?
Posted
技术标签:
【中文标题】如何在 Laravel 中进行简单的重定向?【英文标题】:How to do a simple redirect in Laravel? 【发布时间】:2016-05-23 17:33:26 【问题描述】:我在 Laravel 中有一个函数。最后我想重定向到另一个函数。我如何在 Laravel 中做到这一点?
我尝试了类似的方法:
return redirect()->route('listofclubs');
它不起作用。 “listofclubs”的路线是:
Route::get("listofclubs","Clubs@listofclubs");
【问题讨论】:
在您的情况下,您需要命名路线 我想你可能指的是return redirect()->action('Clubs@listofclubs');
【参考方案1】:
如果要使用路由路径需要使用to
方法:
return redirect()->to('listofclubs');
如果您想使用route
方法,您需要传递一个路由名称,这意味着您需要在路由定义中添加一个名称。因此,如果将您的路线修改为具有这样的名称:
// The `as` attribute defines the route name
Route::get('listofclubs', ['as' => 'listofclubs', 'uses' => 'Clubs@listofclubs']);
那么你可以使用:
return redirect()->route('listofclubs');
您可以在Laravel HTTP Routing Documentation 中阅读有关命名路由的更多信息,并在Redirector
类API Documentation 中阅读有关重定向的更多信息,您可以在其中查看可用方法以及每个方法接受的参数。
【讨论】:
您也可以使用以下行作为您的路线:Route::get("listofclubs","Clubs@listofclubs")->name('listofclubs');
至少对我来说,它更容易记住语法。【参考方案2】:
只需命名您的路线:
Route::get('listofclubs',[
'uses' => 'Clubs@listofclubs',
'as' => 'listofclubs'
]);
后来
return redirect()->route('listofclubs');
【讨论】:
【参考方案3】:一种方法是遵循其他人提供的解决方案。另一种方法是,由于您打算直接调用该函数,因此您可以使用
return redirect()->action('Clubs@listofclubs');
然后在路由文件中
Route::get("listofclubs","Clubs@listofclubs");
Laravel 会自动重定向到 /listofclubs。
【讨论】:
以上是关于如何在 Laravel 中进行简单的重定向?的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 4.2 应用程序在上传实时服务器后发生不必要的重定向