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.
不知道是啥错?
我在迁移文件中删除这个方法,就不报错了。

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

问题已解决!

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

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

5年前 评论

问题已解决!

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

5年前 评论

Running:

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

5年前 评论

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