Php Laravel-使用查询生成器函数传递变量

Php Laravel-使用查询生成器函数传递变量,php,laravel,Php,Laravel,使用Laravel的查询生成器示例,是否可以将变量传递到此函数: $someVariable = 1; DB::table('users') ->where('name', '=', 'John') ->orWhere(function ($query) use ($someVariable) { $query->where('votes', '>', $someVariable)

使用Laravel的查询生成器示例,是否可以将变量传递到此函数:

$someVariable = 1;

DB::table('users')
        ->where('name', '=', 'John')
        ->orWhere(function ($query) use ($someVariable) {
            $query->where('votes', '>', $someVariable)
                  ->where('title', '<>', 'Admin');
        })
        ->get();

函数似乎无法访问自身之外的变量。我得到一个错误:未定义变量:$someVariable

对于该函数之外的变量,您需要在函数后面使用use关键字。如果$someVariable是您想要使用的变量,那么它应该可以工作

$someVariable = 1;

DB::table('users')
->where('name', '=', 'John')
->orWhere(function ($query) use($someVariable) {
    $query->where('votes', '>', $someVariable)->where('title', '<>', 'Admin');
})->get();

对于函数之外的变量,需要在函数后面使用use关键字。如果$someVariable是您想要使用的变量,那么它应该可以工作

$someVariable = 1;

DB::table('users')
->where('name', '=', 'John')
->orWhere(function ($query) use($someVariable) {
    $query->where('votes', '>', $someVariable)->where('title', '<>', 'Admin');
})->get();

我犯了一个错误。告诉我们错误是什么怎么样?@rtfm用错误更新我得到一个错误。告诉我们错误是什么怎么样?@rtfm已更新错误