0
我明白这可能是不可能的,但有没有办法使Zend Paginate进入特定项目(记录)?Zend Paginate - 找到结果中的特定记录
结果我希望能让我在结果的表格列表中寻找特定的记录,并显示与名称定位标记相结合的相应页面(在所有可用页面内)以显示特定记录。为了澄清:如果我将结果作为Zend_Db_Table_Rowset_Abstract,我将以与$ rowset-> seek(8)类似的方式使用seek()方法。尽管我不相信DbSelect适配器返回的结果是SeekableIterator?
我的映射器中的代码(使用表数据网关模式):
public function paginate($where = array(), $order = null)
{
$select = $this->getDbTable()->select()->from($this->getTableName(), $this->getTableFields());
foreach ($where as $key => $value) {
$select->where($key, $value);
}
$select->order($order);
$adapter = new Zend_Paginator_Adapter_DbSelect($select);
$paginator = new Zend_Paginator($adapter);
return $paginator;
}
在我的控制器:
$cache_id = sha1('list');
$mapper = new Application_Model_Galleries_Mapper();
if(!($data = Zend_Registry::get('cache')->load($cache_id))) {
$data = $mapper->paginate(array(), $sort);
Zend_Registry::get('cache')->save($data, $cache_id, array('list'), 7200);
}
$data->setCurrentPageNumber($this->_getParam('page'));
$data->setItemCountPerPage(30);
$this->view->paginator = $data;
对于初学者'... Adapter_DbSelect()'返回一个数组,你可能会看到,如果你的代码将与'... Adapter_DbTableSelect()'因为它返回一个行集对象。参考文献[Zend_Pagainator](http://framework.zend.com/manual/en/zend.paginator.usage.html) – RockyFord
这很有用,谢谢!如果您想将其作为答案,我会将其标记为已接受的答案。 – Asciant