Neos\Media\Domain\Repository\TagRepository::findByAssetCollections PHP Method

findByAssetCollections() public method

public findByAssetCollections ( array $assetCollections ) : Neos\Flow\Persistence\QueryResultInterface
$assetCollections array
return Neos\Flow\Persistence\QueryResultInterface
    public function findByAssetCollections(array $assetCollections)
    {
        $query = $this->createQuery();
        $constraints = [];
        foreach ($assetCollections as $assetCollection) {
            $constraints[] = $query->contains('assetCollections', $assetCollection);
        }
        $query->matching($query->logicalOr($constraints));
        return $query->execute();
    }

Usage Example

 /**
  * Edit an asset
  *
  * @param Asset $asset
  * @return void
  */
 public function editAction(Asset $asset)
 {
     $this->view->assignMultiple(array('tags' => $asset->getAssetCollections()->count() > 0 ? $this->tagRepository->findByAssetCollections($asset->getAssetCollections()->toArray()) : $this->tagRepository->findAll(), 'asset' => $asset, 'assetCollections' => $this->assetCollectionRepository->findAll()));
 }