public function run() { $this->command->info('Seeding permission to role associations.'); $permissions = Permission::get()->modelKeys(); // Insert default permissions. foreach ($this->slugs() as $role_id => $slugs) { foreach ($slugs as $slug_key => $slug_value) { if (!is_numeric($slug_key) && (is_numeric($slug_value) || is_bool($slug_value))) { $permission_id = $slug_key; $permission_value = !!$slug_value; } else { $permission_id = $slug_value; $permission_value = true; } if (in_array($permission_id, $permissions)) { RolePermission::firstOrCreate(['role_id' => $role_id, 'permission_id' => $permission_id, 'value' => $permission_value]); } else { $this->command->error("Attempting to assign non-existant permission id `{$permission_id}` to role_id `{$role_id}`."); } } } // Give admin permissions. if (count($permissions)) { foreach ($permissions as $permission_id) { $permission = RolePermission::firstOrNew(['role_id' => Role::ID_ADMIN, 'permission_id' => $permission_id]); $permission->value = 1; $permission->save(); } } }
public function run() { $this->command->info('Seeding permission to role associations.'); // Insert default permissions. foreach ($this->slugs() as $slug) { RolePermission::firstOrCreate(['role_id' => $slug['role_id'], 'permission_id' => $slug['permission_id'], 'value' => $slug['value']]); } // Give admin permissions. $permissions = Permission::get(); if (count($permissions)) { foreach ($permissions as $permission) { $permission = RolePermission::firstOrNew(['role_id' => Role::$ROLE_ADMIN, 'permission_id' => $permission->permission_id]); $permission->value = 1; $permission->save(); } } }