我正在练习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.
,该如何解决?
答案 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);
}