【问题标题】:Query builder: passing argument to anonymous function查询生成器:将参数传递给匿名函数
【发布时间】:2013-02-07 01:35:29
【问题描述】:

我在将变量传递给查询构建器闭包时遇到问题,这是我的代码:

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

如果我运行它,它会返回错误“undefined name variable”,但我已经传递了$name 变量并检查了它的存在。 我也找不到任何资源来解释如何将变量传递给查询构建器匿名函数。 你能帮我解决这个问题吗?

【问题讨论】:

  • 我认为$name不在function($query)的范围内

标签: php laravel


【解决方案1】:

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

由于该变量超出了匿名函数的范围,因此需要使用 use 关键字将其传入,如下例所示。

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

【讨论】:

    猜你喜欢
    • 2017-05-07
    • 2015-05-09
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 1970-01-01
    相关资源
    最近更新 更多