2013-02-21 57 views
7

我在传递变量查询生成器关闭有问题,这里是我的代码:查询生成器:传递参数匿名函数

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

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

+0

我觉得$ name不在'function($ query)范围之内' – 2013-02-21 16:23:46

回答

28

您需要的告诉匿名函数使用该变量像...

因为该变量是它需要使用使用关键字传递如图所示annonymous功能范围之外下面的例子。

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

它完美的工作谢谢你 – petwho 2013-02-22 03:56:42

相关问题