【发布时间】:2014-03-17 07:41:03
【问题描述】:
CakePHP 中是否有按多列对分页进行排序? 我有这个代码
$this->paginate = array(
'Project' => array(
'limit' => $limit,
'fields' => array(
'DISTINCT (Project.id) AS id',
'Project.project_type_id',
'Project.contact_id',
'Project.company_id',
'Project.due_date',
'Project.subject',
'Project.description',
'Project.created',
'Project.creator',
'Project.project_status_id',
'Project.modified',
'Project.complete_date',
),
'joins' => array(
array(
'table' => 'project_reminder_users',
'alias' => 'ProjectReminderUser',
'type' => 'left',
'conditions' => array(
'Project.id=ProjectReminderUser.project_id',
),
),
),
'conditions' => array(
'User.group_id' => $this->Session->read('Auth.User.group_id'),
'Project.creator' => $this->Session->read('Auth.User.id'),
),
'order' => 'Project.project_status_id',
)
);
$this->set('groupTasks', $this->paginate('Project'));
它会导致类似 Project.project_status_id 的顺序
Task Name | Due Date | Status |
Task 1 | - | Open |
Task 2 | 2/15/2014 | Open |
Task 3 | 2/28/2014 | Open |
Task 4 | 2/20/2014 | Open |
Task 5 | - | Open |
Task 6 | - | Open |
Task 7 | - | Closed |
Task 8 | - | Closed |
无论如何,它可以按状态排序,然后按截止日期排序,所以它看起来像这样
Task Name | Due Date | Status |
Task 1 | - | Open |
Task 5 | - | Open |
Task 6 | - | Open |
Task 2 | 2/15/2014 | Open |
Task 4 | 2/20/2014 | Open |
Task 3 | 2/28/2014 | Open |
Task 7 | - | Closed |
Task 8 | - | Closed |
也许在按任务名称排序之后..
谢谢
【问题讨论】:
标签: php sorting cakephp pagination