FOSElasticaBundle/Doctrine/MongoDB/Provider.php
2013-03-27 13:44:44 -04:00

43 lines
1,014 B
PHP

<?php
namespace FOS\ElasticaBundle\Doctrine\MongoDB;
use FOS\ElasticaBundle\Doctrine\AbstractProvider;
class Provider extends AbstractProvider
{
/**
* Counts the objects of a query builder
*
* @param queryBuilder
* @return int
**/
protected function countObjects($queryBuilder)
{
return $queryBuilder->getQuery()->count();
}
/**
* Fetches a slice of objects
*
* @param queryBuilder
* @param int limit
* @param int offset
* @return array of objects
**/
protected function fetchSlice($queryBuilder, $limit, $offset)
{
return $queryBuilder->limit($limit)->skip($offset)->getQuery()->execute()->toArray();
}
/**
* Creates the query builder used to fetch the documents to index
*
* @return query builder
**/
protected function createQueryBuilder()
{
return $this->objectManager->getRepository($this->objectClass)->{$this->options['query_builder_method']}();
}
}