2011-05-09 18:48:25 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace FOQ\ElasticaBundle\Provider;
|
|
|
|
|
|
|
|
class DoctrineORMProvider extends AbstractDoctrineProvider
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Counts the objects of a query builder
|
|
|
|
*
|
2011-05-09 21:57:07 +02:00
|
|
|
* OMG this implementation is radical. Yes. There seems to be
|
|
|
|
* no easy way to do that with Doctrine ORM 2.0.
|
|
|
|
* Please tell me if you have a better idea.
|
|
|
|
*
|
2011-05-09 19:56:27 +02:00
|
|
|
* @param queryBuilder
|
2011-05-09 18:48:25 +02:00
|
|
|
* @return int
|
|
|
|
**/
|
|
|
|
protected function countObjects($queryBuilder)
|
|
|
|
{
|
2011-05-09 21:57:07 +02:00
|
|
|
return PHP_INT_MAX;
|
2011-05-09 18:48:25 +02:00
|
|
|
}
|
2011-05-09 19:56:27 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Fetches a slice of objects
|
|
|
|
*
|
|
|
|
* @param queryBuilder
|
|
|
|
* @param int limit
|
|
|
|
* @param int offset
|
|
|
|
* @return array of objects
|
|
|
|
**/
|
|
|
|
protected function fetchSlice($queryBuilder, $limit, $offset)
|
|
|
|
{
|
|
|
|
$queryBuilder->setFirstResult($offset);
|
|
|
|
$queryBuilder->setMaxResults($limit);
|
|
|
|
|
|
|
|
return $queryBuilder->getQuery()->getArrayResult();
|
|
|
|
}
|
2011-05-09 18:48:25 +02:00
|
|
|
}
|