getPermissionsForGroup($groupId); return count($groupPerms) && array_key_exists($permissionId, $groupPerms); } /** * Gets all permissions for a group in a way that can be easily used to check against: * * [ id => name, id => name ] * * @return array */ public function getPermissionsForGroup(int $groupId): array { $cacheName = "group{$groupId}_permissions"; if (! ($found = cache($cacheName))) { $groupPermissions = $this->db ->table('auth_groups_permissions') ->select('id, auth_permissions.name') ->join('auth_permissions', 'auth_permissions.id = permission_id', 'inner',) ->where('group_id', $groupId) ->get() ->getResultObject(); $found = []; foreach ($groupPermissions as $row) { $found[$row->id] = strtolower($row->name); } cache() ->save($cacheName, $found, 300); } return $found; } }