我的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张票。
提前致谢。
莱曼
答案 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-Setup和http://book.cakephp.org/view/1237/Custom-Query-Pagination