如何从cakephp中查找结果设置分页?

时间:2011-11-13 03:03:09

标签: cakephp cakephp-2.0

我的Ticket控制器上有一个代码,显示登录用户创建的所有故障单:

 $this->set('tickets',$this->Ticket->find('all',array('conditions'=>array('user_id'=>$this->Auth->user('id')))), $this->paginate());

它返回正确的结果,但是,我的分页(当您查看索引页面时)显示所有用户创建的所有票证(第1页,共1页,显示18个记录中的18个记录,从记录1开始,结束于18 )。上面的代码只能在您查看索引页时返回3张票。

提前致谢。

莱曼

1 个答案:

答案 0 :(得分:1)

像这样:

// Contoller - define pagination settings
     var $paginate = array(
                'Tickets'=>array(     
                     'limit' => 3, 
                     'order' => array( 'User.id' => 'asc' ) // or whatever
                     )
                  );

现在请拨打$ this-> paginate,而不是$ this-> find。

- 编辑以包含要查找的条件。

// The second argument takes your conditions. Model.field syntax is preferable.
$this->set('tickets', $this->paginate('Tickets', array("Tickets.user_id = {$this->Auth->user('id')}"));

请参阅http://book.cakephp.org/view/1232/Controller-Setuphttp://book.cakephp.org/view/1237/Custom-Query-Pagination