Exemplo n.º 1
0
 /**
  * @param Fetcher $paginator
  * @param string $columnName
  * @return Fetcher
  */
 public function getColumnByPaginatorPreserveIds(Fetcher $paginator, $columnName = 'id')
 {
     $count = $this->_reader->selectCountByPaginator($paginator);
     $ids = $this->_reader->selectByPaginator($paginator);
     $results = $this->getColumnByIdsPreserveIds($ids, $columnName);
     $resultsSorted = array();
     foreach ($ids as $id) {
         if (array_key_exists($id, $results)) {
             $resultsSorted[$id] = $results[$id];
         } else {
             $resultsSorted[$id] = null;
         }
     }
     $paginator->setTtlCount($count);
     $paginator->set($resultsSorted, true);
     return $paginator;
 }