如何将参数传递给 laravel4.2 中的过滤器

how to pass arguments to filter in laravel4.2

在我的项目中,我想通过'user_id'过滤检查。

这是 isAdmin 函数:

public function isAdmin($id){
    $user=User::find($id);
    if($user->role==10){
        return true;
    }
    return false;
}

这是我的路线文件:

Route::group(array('before'=>'admin'),function(){
    Route::get('dashboard','UserController@Dashboard');
});

这是我想给 user_id ($id) 的滤镜,我不知道怎么给。

Route::filter('admin',function($id)
{
    if(Auth::guest() or ! Auth::user()->isAdmin($id))
        return Redirect::guest('user/logout');

});

对于这种情况,您可以像这样直接从过滤器中检查:

Route::filter('admin',function()
{
    if(Auth::guest() or Auth::user()->role != 10)
        return Redirect::guest('user/logout');
});

您不需要传递参数。

如果你真的想传递参数,也可以看看这个link

Link Laravel 文档:here