FuelPHPのクエリビルダでorder byに特殊なのを指定したい
普通のorder byはこんな感じ。
$query->order_by('name'); // ORDER BY `name`
わけわかんないorder byはDB::exprが何とかしてくれる。
$query->order_by(DB::expr('`name` IS NULL ASC')); // ORDER BY `name` IS NULL ASC
MySQLでNULLが最後になるようにソートしたい
MySQLでNULLが入っていた時のソートを思い通りにしたい。
昇順でNULLが頭
ORDER BY `name` ASC +------+ | name | +------+ | NULL | | ア | | イ | +------+
降順でNULLが最後
ORDER BY `name` DESC +------+ | name | +------+ | イ | | ア | | NULL | +------+
昇順でNULLが最後
ORDER BY `name` IS NULL ASC, `name` ASC +------+ | name | +------+ | ア | | イ | | NULL | +------+
PHPのプログラム修正が反映されない時
がしがしとPHPのプログラムを更新しているときに、 ブラウザで確認しても、なぜか更新前の状態のまま。 それはOPcacheが働いているせいなのかも。
OPcacheを無効にしよう。
http://php.net/manual/ja/opcache.configuration.php#ini.opcache.enable
opcache.enable_cli boolean
PHPのはじめの方に以下を書く。
ini_set('opcache.enable', 0);
FuelPHPの場合、fuel/app/config/development/config.phpの頭の方に 書いておくと、開発環境だけ適用されて便利。