3

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 变量在提前 where 查询中未定义。有什么要延长的吗?

4

1 回答 1

10

如果要在闭包中使用变量,则必须包含它们。

改变

->where(function($query) {

->where(function($query) use ($status) {
于 2013-08-19T12:04:32.393 回答