Neos\Media\Domain\Repository\ThumbnailRepository::findAllIterator PHP Method

findAllIterator() public method

Find all objects and return an IterableResult
public findAllIterator ( string $configurationHash = null ) : Doctrine\ORM\Internal\Hydration\IterableResult
$configurationHash string Optional filtering by configuration hash (preset)
return Doctrine\ORM\Internal\Hydration\IterableResult
    public function findAllIterator($configurationHash = null)
    {
        /** @var QueryBuilder $queryBuilder */
        $queryBuilder = $this->entityManager->createQueryBuilder();
        $queryBuilder->select('t')->from($this->getEntityClassName(), 't');
        if ($configurationHash !== null) {
            $queryBuilder->where('t.configurationHash = :configurationHash')->setParameter('configurationHash', $configurationHash);
        }
        return $queryBuilder->getQuery()->iterate();
    }

Usage Example

 /**
  * Remove thumbnails
  *
  * Removes all thumbnail objects and their resources. Optional ``preset`` parameter to only remove thumbnails
  * matching a specific thumbnail preset configuration.
  *
  * @param string $preset Preset name, if provided only thumbnails matching that preset are cleared
  * @return void
  */
 public function clearThumbnailsCommand($preset = null)
 {
     if ($preset !== null) {
         $thumbnailConfiguration = $this->thumbnailService->getThumbnailConfigurationForPreset($preset);
         $thumbnailConfigurationHash = $thumbnailConfiguration->getHash();
         $thumbnailCount = $this->thumbnailRepository->countByConfigurationHash($thumbnailConfigurationHash);
         $iterator = $this->thumbnailRepository->findAllIterator($thumbnailConfigurationHash);
     } else {
         $thumbnailCount = $this->thumbnailRepository->countAll();
         $iterator = $this->thumbnailRepository->findAllIterator();
     }
     $this->output->progressStart($thumbnailCount);
     foreach ($this->thumbnailRepository->iterate($iterator) as $thumbnail) {
         $this->thumbnailRepository->remove($thumbnail);
         $this->output->progressAdvance(1);
     }
 }