首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zend Paginate在结果中查找特定的记录

Zend Paginate在结果中查找特定的记录
EN

Stack Overflow用户
提问于 2012-05-20 18:29:20
回答 1查看 210关注 0票数 0

我知道这可能是不可能的,但有没有办法让Zend Paginate转到一个特定的项目(记录)?

我想要的结果将允许我在结果的表格列表中查找特定的记录,并显示适当的页面(在所有可用页面中)与名称锚标记相结合以显示特定的记录。

为了澄清:如果我将结果作为一个Zend_Db_Table_Rowset_Abstract,我会以类似于$rowset->seek(8)的方式使用seek()方法;尽管我不相信DbSelect适配器返回的结果是一个SeekableIterator?

我的Mapper中的代码(使用表数据网关模式):

代码语言:javascript
复制
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;
}

在我的控制器中:

代码语言:javascript
复制
    $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;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-22 14:13:47

要返回一个带有可查找迭代器(Zend_Db_Table_Rowset)的数组,请使用Zend_Paginator_Adapter_DbTableSelect(),因为它返回一个行集对象,而Zend_Paginator_Adaoter_DbSelect()返回一个Zend_Paginator ()。

Zend_Paginator

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10672659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档