CakePHP paginator没有排序

时间:2014-02-11 19:38:28

标签: sorting cakephp paginator

在CakePHP中,我想在序列ASC上对索引列表(由paginator组件创建)进行排序,但它不起作用。如果我在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排序,并忽略“订单”设置。任何人都可以告诉我,我的分页器设置中的“订单”项目是否有任何问题? ;) 谢谢!

2 个答案:

答案 0 :(得分:0)

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

编辑:

排序方向必须在数组值中,而字段名称应该是索引。我在文件中找到的考试总是显示

答案 1 :(得分:0)

我不认为你的选项数组中应该有那个Attraction索引 - 换句话说,我认为你的选项数组应该是这样的:

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