【问题标题】:Where clause becomes null with pagination in Zend Framework 2Zend Framework 2 中的 where 子句在分页时变为空
【发布时间】:2015-09-13 14:51:39
【问题描述】:

使用分页时,Where 子句变为空。即第一页工作正常。但是当我单击下一页时,显示了 0 个结果。我通过打印 sql 语句进行调试。原因是“Where”子句变为空。有什么理由吗。我该如何解决这个问题?

    $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;

【问题讨论】:

  • 您是否在第 1 页为 $region 创建会话,以便您可以在第 1 页的会话中使用 $region?

标签: php zend-framework pagination where


【解决方案1】:

这是我要解决的问题,

$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;

$paginator 返回到视图的位置; $data['page'] 是页码。

【讨论】:

    猜你喜欢
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多