访问模型中的自定义方法

时间:2018-07-25 19:59:28

标签: laravel laravel-5

我正在练习laravel,并为用户制作了自定义方法

在我的用户模型中,我建立了这样的功能

public function employee(){
    return $this->where('user_type','employee');
}

然后在我的控制器中访问这样的功能

public function index(){
     $users = User::latest()->employee();
     return UserResource::collection($users);
}

但是返回错误方法Illuminate\Database\Query\Builder::employee does not exist.,该如何解决?

1 个答案:

答案 0 :(得分:4)

使用local scope理解

public function scopeEmployee($query)
{
   return $query->where('user_type', 'employee');

}

您的控制器可以保持原样!

    public function index(){
     $users = User::latest()->employee()->get();
     return ProductsResource::collection($users);
}