所以,我有 1 个 View ,我需要对同一模型但不同条件的 2 个表进行分页。例如:
Task Model --> 1st pagination --just paginate task assigned to me
--> 2nd pagination --paginate task created by me
有办法做到这一点吗?
public function dashboard() {
$this->layout = 'user';
$limit = 5;
//debug($this->Session->read('Auth.User.id'));
//debug($this->Session->read('Auth.User.group_id'));
//My Task Pagination
$this->paginate = array(
'Project' => array(
'limit' => $limit,
//'contain' => array('ProjectReminderUser.user_id =' . $this->Session->read('Auth.User.id')),
'conditions' => array(
'User.group_id' => $this->Session->read('Auth.User.group_id'),
//'ProjectReminderUser.user_id' => $this->Session->read('Auth.User.id'),
),
)
);
$this->set('myTasks', $this->paginate('Project'));
//debug($this->paginate('Project'));
//Group Task Pagination
$this->paginate = array(
'Project' => array(
'limit' => $limit,
//'contain' => array('ProjectReminderUser.user_id =' . $this->Session->read('Auth.User.id')),
'conditions' => array(
'User.group_id' => $this->Session->read('Auth.User.group_id'),
//'ProjectReminderUser.user_id' => $this->Session->read('Auth.User.id'),
),
)
);
$this->set('groupTasks', $this->paginate('Project'));
//debug($this->paginate('Project'));
}
这段代码还没有区分条件。 但我想知道我怎样才能做到这一点。因为使用我当前的代码,每次我尝试排序或移动页面时,由于模型相同,它都会对两个表执行相同的操作。
最佳答案
几天前我遇到了同样的问题。根据我的经验,我从http://deadlytechnology.com/php/paginate-multiple-data-sets/找到了最好的解决方案。到现在。虽然这是一篇非常老的帖子,但我认为这是所有类型的多分页的最佳解决方案,即同一模型多分页、多模型同一 View 分页等。
解决方案: 使用 CakePHP 像往常一样加载一个分页。另一种加载使用来自任何 Controller 的另一个操作的 AJAX 请求。如果两个分页都使用AJAX分页,将会是交互式且有意义的。
关于jquery - CakePHP 2如何使用同一模型进行多个分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19869775/