CakePHP2 連想配列の整形はHash::flattenがベンリ!

タイトルどおりですけれども。
CakePHPでアソシエーションを利用する場合や、
queryメソッドでSQLを直接実行する場合に役立つトピック。

取得するレコードセットは、
参照元となるテーブル名でグループ化された連想配列に格納されます。

Array(
[0] => Array(
[Customer] =>
[name1] => michael
[name2] => jordan
)
[Contact] =>
[date] => 2001-02-03
)
)
)

上記のような連想配列を片っ端からCSVにエクスポートする
ロジックを記述する際に、汎用的なコードが書けないものか?と
調べたところ、CakePHPのライブラリ中にHash::flattenを見つけました。

Hash::flatten – CakePHP2
http://book.cakephp.org/2.0/ja/core-utility-libraries/hash.html#Hash::flatten

これで複数階層から成る連想配列を(フラットな)単次元配列に変換することができます。
Hashはなかなか奥が深そうですね。
使いこなすとコーディングの効率を高めることができそう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です