Laravel Advance Query Builder未看到父方法变量
public function read($status=null,$skip=0,$take=10,$orderby=array())
{
$table = DB::table('users')
->skip($skip)
->take($take)
->where(function($query) {
if($status)
$query->where('status','!=',$status);
});
}
这将返回一个错误,其中$ status变量未定义在查询的advance中。有什么可以延伸吗?
答案 0 :(得分:10)
如果要在闭包中使用变量,则必须包含它们。
更改
->where(function($query) {
到
->where(function($query) use ($status) {