Loads all entities managed by this storage
abstract public loadAll ( ) : array[] | ||
Результат | array[] | Array of arrays where keys are VPIDs and values are arrays with entity data |
public function loadAll() { $parentEntities = $this->parentStorage->loadAll(); $entities = []; foreach ($parentEntities as $parent) { foreach ($parent as $field => $value) { if (!Strings::contains($field, '#')) { continue; } list($key, $vpId) = explode('#', $field, 2); $entities[$vpId] = $this->extractEntityFromParentByVpId($parent, $vpId); } } return $entities; }
/** * Loads entities from storage and gives subclasses the chance to transform them, see * {@see transformEntities()}. * * @param $entitiesToSynchronize * @return array */ private function loadEntitiesFromStorage($entitiesToSynchronize) { if ($this->selectiveSynchronization) { $entities = array(); foreach ($entitiesToSynchronize as $entityToSynchronize) { if ($this->storage->exists($entityToSynchronize['vp_id'], $entityToSynchronize['parent'])) { $entities[] = $this->storage->loadEntity($entityToSynchronize['vp_id'], $entityToSynchronize['parent']); } else { if ($this->storage->exists($entityToSynchronize['vp_id'], null)) { $entities[] = $this->storage->loadEntity($entityToSynchronize['vp_id'], null); } } } } else { $entities = $this->storage->loadAll(); } $entities = $this->transformEntities($entities); return $entities; }
/** * Loads entities from storage. For full synchronization it loads all entities. For selective synchronization it loads * only entities from $this->entitiesToSynchronize. * * @return array */ private function loadEntitiesFromStorage() { if ($this->isSelectiveSynchronization) { $entities = []; foreach ($this->entitiesToSynchronize as $entityToSynchronize) { if ($this->storage->exists($entityToSynchronize['vp_id'], $entityToSynchronize['parent'])) { $entities[] = $this->storage->loadEntity($entityToSynchronize['vp_id'], $entityToSynchronize['parent']); } } } else { $entities = $this->storage->loadAll(); } $entities = $this->maybeStripMetaEntities($entities); $entities = array_map(function ($entity) { return $this->urlReplacer->restore($entity); }, $entities); $entities = array_map(function ($entity) { return $this->vpidRepository->restoreForeignKeys($this->entityName, $entity); }, $entities); return $entities; }