cakephp - 按时间顺序排序DESC无效

时间:2015-06-01 03:46:43

标签: cakephp

我有一个名为posts的表,用于存储所有帖子。它有两列“Created”和“Modified”。

以下是我在模型中的查询:

$options = [
            'conditions' => [
                'circle_id'                => $my_circle_list,
                'team_id'                  => $this->current_team_id,
                'modified BETWEEN ? AND ?' => [$start, $end],
            ],
            'order'      => ['modified'=> 'desc'],
            'limit'      => $limit,
            'fields'     => ['post_id'],
        ];
        $res = $this->find('list', $options);

现在我想在顶部和底部编辑最新的帖子是我的mysql转储的内容:

SELECT `Post`.`id` FROM `db`.`posts` AS `Post`   WHERE `Post`.`id` IN (125, 124) AND `Post`.`del_flg` = '0'   ORDER BY `Post`.`modified` desc  LIMIT 20

如果我在我的数据库编辑器中运行此查询,它会给出正确的输出,但在我的控制器中,排序会再次更改,这是我在调试数组值后想到的。

如果有人能告诉我这背后是否有任何具体原因,将会有所帮助。从控制器调用此模型方法是以传统方式完成的。

1 个答案:

答案 0 :(得分:0)

在Cake使用生成的SQL查询数据库之后使用$this->find()时,它会调用模型上的afterFind() method来操作数据。这是订购被修改的最有可能的地方。