Zend Framework 2 Paginator + TableGateway

前端 未结 5 1119
悲哀的现实
悲哀的现实 2021-01-03 12:02

How to use the database mapper with the paginator?

I\'m having a bit trouble understanding how I implement the DbSelect paginator using the code below (right now i

5条回答
  •  臣服心动
    2021-01-03 12:36

    Here is sample code for pagination in ZF2

     adapter = $adapter;
            }
    
    
    
    
             public function getPaginatedTableData($tableName, $whereData = "", $selectedColumn = '' , $currentPageNumber = 1) {
    
                $sql = new Sql($this->adapter);
                $select = $sql->select();
    
                if ($selectedColumn) {
                    $select->columns($selectedColumn);
                }
                $select->from($tableName);
                if ($whereData) {
                    $select->where($whereData);
                }
    
                $paginator = $this->getPaginatorForSelect($select, $currentPageNumber);
    
    
                $resultSet = new ResultSet;
                $resultSet->initialize($paginator);
                $resultSet->buffer();
    
                  $pagination = array(
                   'current_page_number'=>$currentPageNumber,
                   'page_count'=>$paginator->getPages()->pageCount,
                   'previous'=>isset($paginator->getPages()->previous)?$paginator->getPages()->previous:0,
                   'next'=>isset($paginator->getPages()->next)?$paginator->getPages()->next:0,
                   );
    
    
     return ($resultSet &&  0 != $paginator->getPages()->pageCount)?array('resultSet'=>$resultSet->toArray(), 'pagination'=>$pagination):FALSE;
    
            }
    
    
    
    
            public function getPaginatorForSelect($select, $page, $limit=2)
        {
        $paginatorAdapter = new DbSelect($select, $this->adapter);
        $paginator = new Paginator($paginatorAdapter);
        $paginator->setItemCountPerPage($limit);
        $paginator->setPageRange(5);
        $paginator->setCurrentPageNumber($page);
        return $paginator;
        }
    
        }
    

    HTH

提交回复
热议问题