こんにちは。にわかPHPerの須釜です。今日はCakePHPのお話です。 CakePHPのafterFindでデータを加工する場合、渡ってくるデータ形式が一定じゃないため、せっかく書いた処理が場合によって動かなかったり、PHPのwarningが出でたりして苦労が絶えません。ネット上には、古いCakeのバージョンで同様の悩みを綴った記事が溢れていますが、最新版でも状況はあまり変わっていないようです。 具体的には、afterFindには後述の3つのデータ形式が渡ってくる可能性があり、これら全てに対応できるように処理を書かなければ、特定の条件でしか動かない残念なモデルクラスの出来上がり。その他にも、countメソッドから呼ばれた場合はまた形式が異なっていたりして、afterFindの仕様はかなりカオスです。 そこで、データ形式のゆれを吸収する処理を切り出してAppModelに書いてしまい、各モデ