FOSElasticaBundle/Paginator/RawPartialResults.php
Francisco Facioni 0d9e0f1172 Added knp paginator support
Bug fix: no
Feature addition: yes
Backwards compatibility break: no

Encapsulated Pagerfanta dependency for pagination and added support for knp pagination component
2012-05-24 11:35:19 -03:00

52 lines
1,008 B
PHP

<?php
namespace FOQ\ElasticaBundle\Paginator;
use FOQ\ElasticaBundle\Paginator\PartialResultsInterface;
use Elastica_ResultSet;
/**
* Raw partial results transforms to a simple array
*/
class RawPartialResults implements PartialResultsInterface
{
protected $resultSet;
/**
* @param \Elastica_ResultSet $resultSet
*/
public function __construct(Elastica_ResultSet $resultSet)
{
$this->resultSet = $resultSet;
}
/**
* {@inheritDoc}
*/
public function toArray()
{
return array_map(function($result) {
return $result->getSource();
}, $this->resultSet->getResults());
}
/**
* {@inheritDoc}
*/
public function getTotalHits()
{
return $this->resultSet->getTotalHits();
}
/**
* {@inheritDoc}
*/
public function getFacets()
{
if ($this->resultSet->hasFacets()) {
return $this->resultSet->getFacets();
}
return null;
}
}