CakephpにてMySQLの昇順ソート時にNULL値を最後に持ってくる方法

MySQL#cakephp#mysql#php#ソート

この記事は13年以上前に書かれたものです。内容が古くなっている可能性があります。

ある管理画面をいじっている時、データ配列に対して昇順ソートを行ってみたが、

どうもうまくソートされない。原因を調べてみるとNULL値のデータが一番最初にくるみたいだとか。

DBMSによってそこんとこの仕様はまちまちだとか。。

で、対策は以下になります。

$options['order'] = array('Model.column' => 'ASC');

↓

$options['order'] = array('ISNULL(Model.column)' => 'ASC', 'Model.column' => 'ASC');

あくまでもこちらはMySQLに対しての対応となります。