protected function cachePermissions(Group $group) { $permissions = array(); // Overwrite parent permissions if those are set if ($group->parent_id) { $permissions = $this->cachePermissions($group->parent); } $permissions = array_unique(array_merge($permissions, $group->permissions()->get()->all())); // Cache for 14 days $this->cache->put('fluxbb.group.permissions.' . $group->id, $permissions, 20160); return $permissions; }