I am using Laravel V:12 and Spatie Role/Permission V:6. for multiple roles (super_admin, sub_admin, user, sub_user). I created one seeder for creating an admin user and its role/permission.
At the time of the 4th step, I get an error. "Integrity constraint violation: 1048 Column 'team_id' cannot be null ---> insert into model_has_roles"
In config/permission.php
'teams' => true,
'team_foreign_key' => 'team_id',
Steps To Reproduce: In the seeder file write this code
//1. Create Permission
$permissions = ["role.view", "role.create", "role.edit", "role.delete"];
foreach ($permissions as $permission) {
Permission::firstOrCreate([
'name' => $permission,
'guard_name' => 'web',
]);
}
// 2. Super Admin Role (Global)
$superAdminRole = Role::firstOrCreate([
'name' => 'super-admin',
'guard_name' => 'web'
]);
$superAdminRole->givePermissionTo(Permission::all());
// 3. Create Super Admin
$superAdmin = User::firstOrCreate(
['email' => '[email protected]'],
[
'user_type' => 1,
'name' => 'Super Admin',
'email_verified_at' => now(),
'password' => Hash::make('Admin@12345'),
'remember_token' => Str::random(10),
]
);
//4. Assign a role to the user
$superAdmin->assignRole($superAdminRole);