Laravel传递参数到路线

时间:2014-05-02 07:35:37

标签: php laravel

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

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

现在我正在尝试阻止用户登录时访问登录和注册页面,所以我有以下代码:

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

但是它会将/user/{username}放入网址并发出404 NotFoundHttpException错误。

如何传递内容来替换{username}中的Redirect::route('profile-user');?因为如果您输入网址/user/username,它会有效,那么必须有办法让代码执行此操作吗?

2 个答案:

答案 0 :(得分:1)

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

在这种情况下:

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

答案 1 :(得分:0)

最后找到答案。我需要使用action而不是路线。所以我使用了这段代码:

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