Hi Serkan,

in this case you may want the getAllUsers method return the paginator or
create a getAllUsersPaginator method, so you can pass the
Zend_Db_Table_Select object to the paginator.

It doesn't really look like best programming practices, but I think this
should work:

//model:
public function getAllUsersPaginator($pageNumber = 1){
         $select = $this->select()
                     ->setIntegrityCheck(false)
                     ->from(array('u'=>'user'),array('*'))
                     ->joinLeft(array('ud'=>'user_detail'), 'u.id_user =
ud.id_user')
                     ->order(array('ud.name','ud.surname'));

         $paginator = new Zend_Paginator(new
Zend_Paginator_Adapter_DbTableSelect($select);
         $paginator->setCurrentPageNumber($pageNumber);
         $paginator->setItemCountPerPage(10);
         return $paginator;
}

//controller:
public function IndexAction()
{
        $paginator =
$this->user->getAllUsersPaginator($this->_getParam('page'));
        //Do whatever you want with it here...
}

Regards,

--
Alayn Gortazar



El mar, 06-07-2010 a las 17:12 +0300, Serkan Temizel escribió:
> I found an example it seems to work but I think it does not filter the
> result at sql query level.
> 
> controller:  
> 
>     public function indexAction() { // action body            
>         
>         $dbResult = $this->user->getAllUsers ();
>         
>         $pageNumber = 10;
>         $itemNumber = 10;
>         
>         $paginator = Zend_Paginator::factory ( $dbResult );
>         $paginator->setItemCountPerPage ( $pageNumber );
>         $paginator->getItemsByPage ( $itemNumber );
>         $paginator->setCurrentPageNumber ( $this->_getParam
> ( 'page' ) );
>         Zend_Paginator::setDefaultScrollingStyle ( 'Sliding' );
>         $view = new Zend_View ( );
>         $paginator->setView ( $view );
>                 
>         $this->view->users = $paginator;
>         $this->view->paginator = $paginator;
>     
>     }
> model: 
> 
> public function getAllUsers(){
>         
>         $select = $this->select()
>                     ->setIntegrityCheck(false)
>                     ->from(array('u'=>'user'),array('*'))
>                     ->joinLeft(array('ud'=>'user_detail'), 'u.id_user
> = ud.id_user')
>                     ->order(array('ud.name','ud.surname'));
>         $result = $this->fetchAll($select);
>     
>         return $result;
>     }
> 
> On Tue, Jul 6, 2010 at 5:06 PM, Serkan Temizel
> <serkantemi...@gmail.com> wrote:
>         Hi,
>         
>         Do one of you have an example code for model - controller
>         paginator. Exapmles on web are mostly in a controller but I
>         want to manage DB works in my model.
>         
>         thanks
> 


El mar, 06-07-2010 a las 17:12 +0300, Serkan Temizel escribió:
> I found an example it seems to work but I think it does not filter the
> result at sql query level.
> 
> controller:  
> 
>     public function indexAction() { // action body            
>         
>         $dbResult = $this->user->getAllUsers ();
>         
>         $pageNumber = 10;
>         $itemNumber = 10;
>         
>         $paginator = Zend_Paginator::factory ( $dbResult );
>         $paginator->setItemCountPerPage ( $pageNumber );
>         $paginator->getItemsByPage ( $itemNumber );
>         $paginator->setCurrentPageNumber ( $this->_getParam
> ( 'page' ) );
>         Zend_Paginator::setDefaultScrollingStyle ( 'Sliding' );
>         $view = new Zend_View ( );
>         $paginator->setView ( $view );
>                 
>         $this->view->users = $paginator;
>         $this->view->paginator = $paginator;
>     
>     }
> model: 
> 
> public function getAllUsers(){
>         
>         $select = $this->select()
>                     ->setIntegrityCheck(false)
>                     ->from(array('u'=>'user'),array('*'))
>                     ->joinLeft(array('ud'=>'user_detail'), 'u.id_user
> = ud.id_user')
>                     ->order(array('ud.name','ud.surname'));
>         $result = $this->fetchAll($select);
>     
>         return $result;
>     }
> 
> On Tue, Jul 6, 2010 at 5:06 PM, Serkan Temizel
> <serkantemi...@gmail.com> wrote:
>         Hi,
>         
>         Do one of you have an example code for model - controller
>         paginator. Exapmles on web are mostly in a controller but I
>         want to manage DB works in my model.
>         
>         thanks
> 


Reply via email to