テーブルに存在しないカラム(start_datetime)をORDER BY句で指定していても、実際のSQLではエラーとならないように取り除いて実行されていました。
$order = array( 'Aaa.status' => 'DESC', 'Aaa.start_day' => 'ASC', 'Aaa.start_datetime' => 'ASC' ); $this->Aaa->find( 'all', array( 'order' => $order ) ); 実行されたSQL ・・・・・ ORDER BY `Aaa`.`status` DESC, `Aaa`.`start_day` ASC LIMIT 10
単純にカラム名を間違えた( [誤]start_datetime → [正]start_time )バグだったのでプログラムを修正したのですが、実行したときにエラーとならないため見過ごしてしまいそうです。
$order = array( 'Aaa.status' => 'DESC', 'Aaa.start_day' => 'ASC', 'Aaa.start_time' => 'ASC' ); $this->Aaa->find( 'all', array( 'order' => $order ) ); 実行されたSQL ・・・・・ ORDER BY `Aaa`.`status` DESC, `Aaa`.`start_day` ASC, `Aaa`.`start_time` ASC LIMIT 10
要注意ですね。