2015-06-01 2 views
0

У меня есть стол, называемый постом, который хранит все сообщения. Он имеет две колонки «Создано» и «Изменено».cakephp - заказать по timestamp DESC не работает

Ниже мой запрос в модели:

$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 

Если я выполнить этот запрос в моем редакторе базы данных он дает мне правильный результат, но в моем контроллере порядок меняется снова, это то, что я понял после того, как я отлаживал значения массива.

Было бы полезно, если бы кто-нибудь мог сказать мне, есть ли какая-то конкретная причина. Вызов этого модельного метода с контроллера выполняется обычным способом.

ответ

0

При использовании $this->find() после того, как Cake запросил базу данных сгенерированным SQL, он вызывает afterFind() method на модели, где он может манипулировать данными. Это, скорее всего, место для изменения заказа.

Смежные вопросы