eZ\Publish\Core\Persistence\Cache\ObjectStateHandler::loadAllGroups PHP Метод

loadAllGroups() публичный Метод

См. также: eZ\Publish\SPI\Persistence\Content\ObjectState\Handler::loadAllGroups
public loadAllGroups ( $offset, $limit )
    public function loadAllGroups($offset = 0, $limit = -1)
    {
        $cache = $this->cache->getItem('objectstategroup', 'all');
        $groupIds = $cache->get();
        if ($cache->isMiss()) {
            $this->logger->logCall(__METHOD__, array('offset' => $offset, 'limit' => $limit));
            $stateGroups = $this->persistenceHandler->objectStateHandler()->loadAllGroups(0, -1);
            $groupIds = array();
            foreach ($stateGroups as $objectStateGroup) {
                $groupCache = $this->cache->getItem('objectstategroup', $objectStateGroup->id);
                $groupCache->set($objectStateGroup)->save();
                $groupIds[] = $objectStateGroup->id;
            }
            $cache->set($groupIds)->save();
            $stateGroups = array_slice($stateGroups, $offset, $limit > -1 ?: null);
        } else {
            $groupIds = array_slice($groupIds, $offset, $limit > -1 ?: null);
            $stateGroups = array();
            foreach ($groupIds as $groupId) {
                $stateGroups[] = $this->loadGroup($groupId);
            }
        }
        return $stateGroups;
    }