Php 模型方法中未定义的变量(laravel)

Php 模型方法中未定义的变量(laravel),php,laravel,eloquent,Php,Laravel,Eloquent,这是我的JadwalKlinik方法: public function scopeByParams($query, $params) { if( isset($params) ){ $query->whereHas('user', function($q){ $q->where('name', 'LIKE', '%'.$params.'%'); }); } return $query; } 查询函数(

这是我的JadwalKlinik方法:

public function scopeByParams($query, $params)
{
    if( isset($params) ){
        $query->whereHas('user', function($q){
            $q->where('name', 'LIKE', '%'.$params.'%');
        });
    }

    return $query;
}

查询函数(第5行)中的$params未定义,为什么???

您需要关键字
在闭包中使用

$query->whereHas('user', function($q) use ($params){
    $q->where('name', 'LIKE', '%'.$params.'%');
});