Zend_Paginator и кеш. Как я могу прочитать данные, которые я отправил в кеш

Я регистрирую данные для кеша и вижу следующее:

zend_cache --- Zend_Paginator

$request = $this->getRequest();
 $q = new Model();
 $paginator = Zend_Paginator::factory($q->fetchAll());
 $paginator->setCurrentPageNumber($request->getParam('p')); 
 $paginator->setItemCountPerPage(40);
 $this->view->q = $paginator;

 $fO = array('lifetime' => 3600, 'automatic_serialization' => true);
 $bO = array('cache_dir'=> APPLICATION_PATH . '/cache/');
 $cache = Zend_cache::factory('Core', 'File', $fO, $bO);
 Zend_Paginator::setCache($cache);
42242d5fa3c4e4b7758810c276163e8a

но я не могу читать.

$request = $this->getRequest();
 $q = new Model();
 $paginator = Zend_Paginator::factory($q->fetchAll());
 $paginator->setCurrentPageNumber($request->getParam('p')); 
 $paginator->setItemCountPerPage(40);
 $this->view->q = $paginator;

 $fO = array('lifetime' => 3600, 'automatic_serialization' => true);
 $bO = array('cache_dir'=> APPLICATION_PATH . '/cache/');
 $cache = Zend_cache::factory('Core', 'File', $fO, $bO);
 Zend_Paginator::setCache($cache);

person asinan    schedule 28.01.2010    source источник


Ответы (1)


Проверьте, включен ли профилировщик БД. Похоже, что существует конфликт между профилировщиком БД и Zend_Paginator_Adapter_DbTableSelect.

Я также создал новый класс Paginator, расширяющий Zend_Paginator, и изменил функцию getItemsByPage.

$offset = ($pageNumber - 1) * $this->getItemCountPerPage();
$items = $this->_adapter->getItems($offset, $this->getItemCountPerPage());

Эти две строки кода должны быть добавлены в начале, после $pageNumber = $this->normalizePageNumber($pageNumber).

person Octavian Vladu    schedule 06.09.2012