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 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

问题已解决!

在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';属性即可

6年前 评论
讨论数量: 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';属性即可

6年前 评论

问题已解决!

在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';属性即可

6年前 评论

Running:

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

6年前 评论

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