在闭包中使用父函数参数

Dwi*_*ght 2 php closures laravel laravel-4

我正在尝试使用一个参数,该参数在过滤模型集合的闭包中传递给Laravel 4中的资源控制器操作,但是我得到以下错误:

Undefined variable: slug

如何将$slug参数从路径传递到集合过滤器闭包?

public function show($slug)
{
    return Auth::user()->sessions->filter(function($session)
    {
        return $session->slug == $slug;
    });
}
Run Code Online (Sandbox Code Playgroud)

我想要实现的只是返回与给定的slug匹配的用户的会话.我尝试过这样的事情无济于事:

Auth::user()->sessions->whereSlug($slug);
Run Code Online (Sandbox Code Playgroud)

nic*_*ckb 5

尝试一个use()条款:

return Auth::user()->sessions->filter(function($session) use( $slug)
{
    return $session->slug == $slug;
});
Run Code Online (Sandbox Code Playgroud)

  • 完美,不知道'使用'.学到了新的东西,谢谢! (2认同)