Sulu\Bundle\MediaBundle\Entity\MediaRepository::findMediaByCollectionId PHP Method

findMediaByCollectionId() public method

public findMediaByCollectionId ( $collectionId, $limit, $offset ) : array
$collectionId
$limit
$offset
return array
    public function findMediaByCollectionId($collectionId, $limit, $offset)
    {
        $queryBuilder = $this->createQueryBuilder('media')->select('count(media.id) as counter')->join('media.collection', 'collection')->where('collection.id = :collectionId')->setParameter('collectionId', $collectionId);
        $count = $queryBuilder->getQuery()->getSingleScalarResult();
        $queryBuilder = $this->createQueryBuilder('media')->innerJoin('media.files', 'files')->innerJoin('files.fileVersions', 'versions', 'WITH', 'versions.version = files.version')->join('media.collection', 'collection')->where('collection.id = :collectionId')->setFirstResult($offset)->setMaxResults($limit)->setParameter('collectionId', $collectionId);
        $query = $queryBuilder->getQuery();
        $paginator = new Paginator($query);
        return ['media' => $paginator, 'count' => $count];
    }