如何将范围变量传递给匿名函数

时间:2014-06-26 05:02:45

标签: php anonymous-function scoping

我是PHP的新手。

我想创建一个功能链接。

public static function cat_post($category, $limit, $top)
{
    $posts = Post::whereHas('categories', function($q)
        {
            $q->where('name', 'like', $name);
            $q->where('top', 'like', $top);

        })->take($limit)->get();
}

但我得到了

Undefined variable "name"

请帮帮我。如何创建这个功能....

1 个答案:

答案 0 :(得分:1)

使用如下:

public static function cat_post($category, $limit, $top)
{
    $posts = Post::whereHas('categories', function($q) use ($name, $top)
        {
            $q->where('name', 'like', $name);
            $q->where('top', 'like', $top);

        })->take($limit)->get();
}

看看here