0

在 CakePHP 中,我想在序列 ASC 上对我的索引列表(由分页器组件创建)进行排序,但它不起作用。如果我在 CakePHP 文档 ( http://book.cakephp.org/2.0/en/core-libraries/components/pagination.html#query-setup ) 中看到查询设置,我的分页器设置应如下所示:

public function index()
{
    $this->Paginator->settings = array(
        'Attraction' => array(
            'conditions' => array(
                'Attraction.deleted' => null
            ),
            'order' => array(
                'Attraction.sequence ASC',
                'Attraction.id ASC'
            ),
            'limit' => 15
        )
    );

    $attractions = $this->Paginator->paginate('Attraction');

    $this->set('attractions', $attractions);
}

但是每次我加载索引文件时,列表都会按 ID 排序并忽略“顺序”设置。谁能告诉我我的分页器设置中的“订单”项目是否有问题?;) 谢谢!

4

2 回答 2

0

我认为您的选项数组中不应包含该吸引力索引 - 换句话说,我认为您的选项数组应如下所示:

$this->Paginator->settings = array(
     'conditions' => array(
         'Attraction.deleted' => null
     ),
     'order' => array(
         'Attraction.sequence ASC',
         'Attraction.id ASC'
     ),
    'limit' => 15
);
于 2014-02-11T19:58:49.663 回答
0

尝试

'order' => array(
     'Attraction.sequence' => 'asc',
     'Attraction.id' => 'asc'
),

编辑:

排序方向必须在数组值中,而字段名应该是索引。我在文档中找到的示例始终表明

于 2014-02-11T19:48:26.187 回答