简体   繁体   English

在Zend Framework 2中,分页中的where子句变为空

[英]Where clause becomes null with pagination in Zend Framework 2

Where clause becomes null when using pagination. 使用分页时,where子句变为null。 ie The first page works fine. 即首页工作正常。 But when I click next page 0 results are showing. 但是,当我单击下一页时,将显示0个结果。 I debugged by printing the sql statement. 我通过打印sql语句进行调试。 The reason for this is 'Where' clause becomes null. 原因是“ Where”子句变为空。 Is there any reason for it. 有什么理由吗? How can I resolve this? 我该如何解决?

    $Sql = new Sql($this->adapter);
    $select = $Sql->select();
    $select->from("TRANSACTION");
    $select->join("vendor","TRANSACTION.vendorID = vendor.vendorID",array('name'));
    $select->where(array('region'=>$region));
    $select->order(array('timestamp DESC'));

    $resultSetPrototype = new ResultSet();
    $paginatorAdapter = new DbSelect($select,$this->getAdapter(),$resultSetPrototype);
    $paginator = new Paginator($paginatorAdapter);
    return $paginator;

This is something i would do to resolve it, 这是我要解决的事情,

$rows = $Sql->select();
            ->from("TRANSACTION")
            ->join("vendor","TRANSACTION.vendorID = vendor.vendorID",array('name'))
            ->where(array('region'=>$region))
            ->order(array('timestamp DESC'))


$paginator = Zend_Paginator::factory($rows);
$paginator->setItemCountPerPage($this->paginatorNumberPerPage);
$cur_page = isset($data['page']) ? $data['page'] : 0;
$paginator->setCurrentPageNumber($cur_page);
return $paginator;

Where $paginator is returned to the view; $paginator返回到视图的位置; and $data['page'] is the page number. $data['page']是页码。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM