繁体   English   中英

Laravel将参数传递给路由

[英]Laravel pass parameter to route

我在下面定义了一条路线:

Route::get('/user/{username}', array(
    'as' => 'profile-user',
    'uses' => 'ProfileController@user'
));

现在,我试图在用户已经登录时阻止对登录和注册页面的访问,所以我有以下代码:

if(!Auth::guest()) {
    return Redirect::route('profile-user');
}

但随后将/user/{username}放入URL中,并给出404 NotFoundHttpException错误。

如何在Redirect::route('profile-user');传递一些内容替换{username} Redirect::route('profile-user'); 因为如果您输入URL /user/username ,它可以工作,那么必须有一种方法来获取代码吗?

return Redirect::route('profile-user',$parameter_to_pass);

在这种情况下:

return Redirect::route('profile-user', ['username' => Auth::user()->username]);

终于找到答案了。 我需要使用action而不是路由。 所以我用了这段代码:

if(!Auth::guest()) {
    return Redirect::action('ProfileController@user', [Auth::user()->username]);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM