Roles 身份验证用户检查角色在serviceProvider Laravel中不起作用

Roles 身份验证用户检查角色在serviceProvider Laravel中不起作用,roles,laravel-8,service-provider,spatie,Roles,Laravel 8,Service Provider,Spatie,当我在服务提供程序中使用(auth()->user()->hasRole('user')或(auth::user()->hasRole('user'))时,会出现以下错误: Call to a member function hasRole() on null 我使用Spatial library并将其包含在我的serviceProvider文件中: use Illuminate\Support\Facades\Auth; use Spatie\Permission\Models\Role;

当我在服务提供程序中使用(auth()->user()->hasRole('user')或(auth::user()->hasRole('user'))时,会出现以下错误:

Call to a member function hasRole() on null
我使用Spatial library并将其包含在我的serviceProvider文件中:

use Illuminate\Support\Facades\Auth;

use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Traits\HasRoles;
我写的代码是:

if (Auth::user()->hasRole('User')) {
    $count = Complaint::where('user_id', auth()->user()->id)->where('is_deleted', 'not_deleted')->get()->count();
} else {
    $count = Complaint::where('status', '!=', null)->where('is_deleted', 'not_deleted')->get()->count();
}