CakePHPでfindで取得した配列を、
idをキーにした配列にする事ってよくあると思います。
例えば以下。
$users = $this->User->find( 'all' ); $list = array(); foreach ( $users as $val ) { $list[$val['User']['id']] = $val['User']['name']; }
こちらでも$listにidをキーとした配列ができますが、
CakePHPだともっと便利にする方法があります。
スポンサーリンク
Set::combine
使い方は簡単、以下で完了です。
$users = $this->User->find( 'all' ); $list = Set::combine( $users, '{n}.User.id', '{n}.User.name' );
見た目的にも非常にわかりやすいですね。