$role]); } $permissions = [ 'press-releases:read', 'press-releases:write', 'press-releases:publish', 'press-release-images:write', 'companies:read', 'newsletter:subscribe', 'users:manage', 'roles:manage', ]; foreach ($permissions as $permission) { Permission::firstOrCreate(['name' => $permission]); } Role::findByName('admin')->syncPermissions($permissions); Role::findByName('editor')->syncPermissions([ 'press-releases:read', 'press-releases:write', 'press-releases:publish', 'press-release-images:write', 'companies:read', 'newsletter:subscribe', ]); Role::findByName('customer')->syncPermissions([ 'press-releases:read', 'press-releases:write', 'press-release-images:write', 'companies:read', 'newsletter:subscribe', ]); Role::findByName('api-only')->syncPermissions([ 'press-releases:read', 'press-releases:write', 'press-release-images:write', 'companies:read', 'newsletter:subscribe', ]); } }