【发布时间】:2016-05-22 09:27:41
【问题描述】:
我正在尝试让角色和权限正常工作,但我似乎无法做到这一点。为数据库播种时出现错误:
[BadMethodCallException]
Call to undefined method Illuminate\Database\Query\Builder::attachRole()
我认为我做错了什么,但我看不出会是什么。
use Bican\Roles;
use Bican\Roles\Models\Role;
use Illuminate\Database\Seeder;
use Illuminate\Foundation\Auth\User;
class UserTableSeeder extends Seeder
{
public function run()
{
// Create admin
$adminRole = Role::where('name', '=', 'Admin')->first();
$user = User::create([
'name' => 'Admin',
'email' => 'email@domain.com',
'password' => bcrypt('Password99')
]);
$user -> attachRole($adminRole);
}
}
我尝试使用的是:https://github.com/romanbican/roles 我按照安装说明进行操作,一切顺利,直到我要对其进行测试。角色表播种器运行良好,我可以看到数据库中的角色。但我无法为用户分配角色。
我做错了什么?
【问题讨论】:
-
这不是
$user->attach($adminRole)吗? -
听起来你没有在你的用户模型上添加特征(并实现接口):github.com/romanbican/…
-
@steve 我也做了那部分。这是屏幕截图i.imgur.com/kPe07p1.png。 @JilsonThomas 不,它在文档中说
attachRole()。
标签: php permissions laravel-5 roles