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

如何在cakephp中设置查找结果的分页?,cakephp,cakephp-2.0,Cakephp,Cakephp 2.0,我的票证控制器上有一个代码,显示登录用户创建的所有票证: $this->set('tickets',$this->Ticket->find('all',array('conditions'=>array('user_id'=>$this->Auth->user('id')))), $this->paginate()); 它返回正确的结果,但是,我的分页(当您查看索引页时)显示所有用户创建的所有票据(第1页,共1页,显示18条记录中的18条,从记

我的票证控制器上有一个代码,显示登录用户创建的所有票证:

 $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个票证

提前谢谢

莱曼像这样:

// 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')}"));

请参见和

我认为我的问题有点模糊,但我真正想要的是将结果限制为用户创建的票证数量。比如说,我创建了3张票证,当我登录时,它应该只显示3张票证(第1页,共1页,显示3条记录中的3条,从记录1开始,到3结束)。您的代码仍然显示18条记录。您的问题是分页,而不是模型关联。编辑我的答案以包含更正的条件…抱歉,您是否遗漏了该行中的某些内容?我得到一个解析错误:语法错误,意外的“;”在第20行的\app\Controller\ticketsconner.php中,我将其更改为:$this->set('tickets',$this->paginate('Ticket',array('user_id'=>$this->Auth->user('id'));。。。谢谢你的帮助。我是女士而不是先生。对于语法错误,我很抱歉,很乐意帮忙:)