Paginate不对DESC进行排序

时间:2014-07-11 20:49:47

标签: php cakephp pagination cakephp-2.5

我无法显示协议编号小于7的协议,并按协议编号DESC订购。

我已阅读Pagination CakePHP Cook Book但无法找到我的代码错误的位置。它只显示少于7,但总是ASC。我在这里找到了类似的问题,[有效],(CakePHP paginate and order by)并且不知道为什么。 Agreement.agreement_number是int(4)。

        $this->Agreement->recursive = 0;
        $agreements = $this->Paginator->paginate('Agreement', array(
            'Agreement.agreement_number <' => '7'
                ), array(
                'Agreement.agreement_number' => 'desc'
            )
        );
        $this->set('agreements', $agreements);
    }

精确的蛋糕版本是2.5.2。

1 个答案:

答案 0 :(得分:0)

...你在哪里读到的那是正确的语法?

paginate函数的第三个参数用于排序(我的意思是,在表格中......带有向下和向上箭头)。

  

订购的允许字段列表。这可以让你防范   在非索引或不受欢迎的列上排序。

您拥有用于API文档的确切链接,但您似乎没有关注它(例如,from herehere

$this->Paginator->settings = array(
    'Agreement' => array(
        'order' => array('Agreement.agreement_number' => 'desc')
    )
);

$agreements = $this->Paginator->paginate('Agreement', array(
        'Agreement.agreement_number <' => '7'));