スポンサードリンク
findでデータを取得した時に
ORDER BYの降順・昇順ではうまく並び変えられないことがありました。
MYSQLのFIELDを使うと任意の順番に並び替えることができます。
その使い方の覚書です。
スポンサードリンク
MYSQLのFIELDを使う
findのorderを指定するときにFIELDを指定します。
$order = array('FIELD(Model.id,1,2,5,6,8,7,4,3,10,9)'); //取得した順番で並び替え $this->Model->find('all', array( 'order' => $order )));
上記の様にするとidが
1,2,5,6,8,7,4,3,10,9の順番で表示されます。
う~ん、便利です。
スポンサードリンク