Ошибка черты "App\HasRoles" в laravel 5.6
Я пытаюсь роль системы разрешений по Laravel 5.6
когда я пытаюсь зарегистрироваться с аутентификацией по умолчанию (php artisan make:auth) я получаю эту ошибку
"Symfony \ Component \ Debug \ Exception \ FatalErrorException (E_UNKNOWN) Черта" App \ HasRoles "не найдена"
это моя модель user.php
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
use HasRoles;
protected $guard_name = 'web';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
6 ответов
Я предполагаю, что вы используете пакет разрешений Spatie Laravel.
Если это так, вам нужно импортировать класс следующим образом:
use Spatie\Permission\Traits\HasRoles;
Попробуй это. Импортируйте пакет HasRoles следующим образом;
use Spatie\Permission\Traits\HasRoles;
Строка use Spatie\Permission\Traits\HasRoles в вашем коде требует для работы включенного пакета Spatie/Laravel-permission.
Шаги
- Запустите «композитор требует spatie/laravel-permission»
- Запустить установку композитора
Тогда ваш код должен работать
Черта не была импортирована для использования. Если вы используете PhpStorm, как я, нажмите на HasRoles, а затем удерживайте alt
ключ и нажмите enter
, выбирать import
удар enter
ключ и признак будет импортирован. Вы можете использовать эти ярлыки для других операций импорта, например, импорта моделей.
композитору требуется разрешение spatie / laravel, установить этот композитор, тогда он будет работать. потому что вы скопировали файлы laravel, но не все, так что установите это. это сработало с моим проектом