The given role or permission should use guard `` instead of `Web`?

使用$user->assignRole('Founder');方法添加用户权限角色信息,执行迁移报错:

vagrant@homestead:~/Code/larabbs$ php artisan migrate:refresh --seed
Rolling back: 2018_08_26_100234_seed_roles_and_permissions_data
·
·
·
Migrated:  2018_08_26_100234_seed_roles_and_permissions_data
Seeding: UserTableSeeder

In GuardDoesNotMatch.php line 12:

  The given role or permission should use guard `` instead of `web`.

vagrant@homestead:~/Code/larabbs$

提示 The given role or permission should use guard `` instead ofweb.
不知道是啥错?
我在迁移文件中删除这个方法,就不报错了。

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

问题已解决!

在GitHub的spatie/laravel-permission项目使用说明中找到这样一句话:

note that if you need to useHasRoles trait with another model ex.Page you will also need to add protected $guard_name = 'web'; as well to that model or you would get an error

use Illuminate\Database\Eloquent\Model;
use Spatie\Permission\Traits\HasRoles;

class Page extends Model
{
   use HasRoles;

   protected $guard_name = 'web'; // or whatever guard you want to use

   // ...
}

在User模型中加入这个$guard_name = 'web';属性即可

7年前 评论
讨论数量: 2

问题已解决!

在GitHub的spatie/laravel-permission项目使用说明中找到这样一句话:

note that if you need to useHasRoles trait with another model ex.Page you will also need to add protected $guard_name = 'web'; as well to that model or you would get an error

use Illuminate\Database\Eloquent\Model;
use Spatie\Permission\Traits\HasRoles;

class Page extends Model
{
   use HasRoles;

   protected $guard_name = 'web'; // or whatever guard you want to use

   // ...
}

在User模型中加入这个$guard_name = 'web';属性即可

7年前 评论

问题已解决!

在GitHub的spatie/laravel-permission项目使用说明中找到这样一句话:

note that if you need to useHasRoles trait with another model ex.Page you will also need to add protected $guard_name = 'web'; as well to that model or you would get an error

use Illuminate\Database\Eloquent\Model;
use Spatie\Permission\Traits\HasRoles;

class Page extends Model
{
   use HasRoles;

   protected $guard_name = 'web'; // or whatever guard you want to use

   // ...
}

在User模型中加入这个$guard_name = 'web';属性即可

7年前 评论

Running:

php artisan cache:forget spatie.permission.cache
php artisan cache:clear

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!