data(); foreach ($data as $value) { $permission = Permission::updateOrCreate([ 'name' => $value['name'], 'guard_name' => 'web', ], [ 'permission_group_id' => $value['group_id'], 'module' => $value['module'], ]); foreach (Role::all() as $role) { $role->givePermissionTo($permission); } } } public function data() { $data = []; $groups = PermissionGroup::all(); foreach ($groups as $group) { foreach ($this->crudActions($group->name) as $action) { $data[] = [ 'name' => $action, 'group_id' => $group->id, 'module' => $group->name, ]; } } return $data; } public function crudActions($name) { $actions = ['create', 'read', 'update', 'delete', 'export', 'authorize', 'report', 'restore']; $result = []; foreach ($actions as $value) { $result[] = $name . '.' . $value; } return $result; } }