CakePHPのSet::combineが便利な件

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' );

見た目的にも非常にわかりやすいですね。


コメントを残す




Menu

HOME

 TOP