-1

我无法显示协议编号小于 7 的协议并按协议编号 DESC 排序。

我已经阅读了Pagination CakePHP Cook Book并且找不到我的代码错误的地方。它只显示小于 7,但总是 ASC。我在这里发现了类似的问题,[that works],(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。

4

1 回答 1

0

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

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

允许排序的字段列表。这允许您防止对非索引或不需要的列进行排序。

您有用于 API 文档的确切链接,但您似乎没有关注它(例如,从这里这里

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

$agreements = $this->Paginator->paginate('Agreement', array(
        'Agreement.agreement_number <' => '7'));
于 2014-07-11T21:09:32.257 回答