Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 查询生成器:将参数传递给匿名函数_Php_Laravel - Fatal编程技术网

Php 查询生成器:将参数传递给匿名函数

Php 查询生成器:将参数传递给匿名函数,php,laravel,Php,Laravel,我在将变量传递给查询生成器闭包时遇到问题,下面是我的代码: function get_usersbyname($name){ dd($name); $resultset = DB::table('users')->where(function($query){ $query->where('username', 'LIKE', $name); }); .... } 如果我运行它,它会返回一个错误“未定义的名称变量”,但我已经传递了$name变

我在将变量传递给查询生成器闭包时遇到问题,下面是我的代码:

function get_usersbyname($name){
    dd($name);
    $resultset = DB::table('users')->where(function($query){
        $query->where('username', 'LIKE', $name);
    });
....
}
如果我运行它,它会返回一个错误“
未定义的名称变量
”,但我已经传递了
$name
变量并检查了它的存在性。 我也找不到任何资源解释如何将变量传递给查询生成器匿名函数。
您能帮我解决这个问题吗?

您需要告诉匿名函数使用该变量,如

由于该变量不在annonymous函数的范围内,因此需要使用use关键字传入该变量,如下例所示

function get_usersbyname($name){
    dd($name);
    $resultset = DB::table('users')->where(function($query) use ($name) {
        $query->where('username', 'LIKE', $name);
    });
....
}

我认为$name不在
函数($query)