Я хочу сохранить данные из db в кеш и просматривать данные с разбивкой по страницам. Стараюсь этот код в модели:Как кэшировать данные с разбивкой на страницы?
public function fetchAll(Select $select = null)
{
if (null === $select)
$select = new Select();
$select->from ($this->table);
$resultSet = $this->tableGateway->selectWith ($select);
$resultSet->buffer();
return $resultSet;
}
И использовать этот код для постраничной и передачи данных для просмотра:
use Zend\Db\Sql\Select;
use Zend\Paginator\Paginator;
use Zend\Paginator\Adapter\Iterator as paginatorIterator;
public function indexAction()
{
$select = new Select();
$page = $this->params()->fromRoute ('page') ? (int) $this->params()->fromRoute ('page') : 1;
$select->order ('my_table.'.$order_by . ' ' . $order_sort);
$items = $myModel->fetchAll ($select);
$paginator = new Paginator (new paginatorIterator ($items));
$paginator->setCurrentPageNumber ($page);
$view = new ViewModel (array (
'page' => $page,
'paginator' => $paginator,
));
$view->setTemplate ('path/to/phtml');
return $view;
}
Как это сделать?