【PHP】フレームワーク CakePHP 7ホール目【v1.2】

このエントリーをはてなブックマークに追加
458453
>>454
Cakeでここまでやるのは馬鹿馬鹿しいかも知らんが、多対多リレーションが増えると
連結テーブルのモデルから操作したほうが処理がすっきりすることがある。
特にユーザモデルの場合は、複雑な関係性を持ちやすい。

例としてUserとTagを出したが、実践的な例でいうと、ユーザがグルーピングされてる時、

// controller
$groups_users = $this->GroupsUser->find('all');
$this->set('groups_users',Set::combine($groups_users,'{n}.User.id','{n}.User.name','{n}.Group.name'));
// view
echo $form->input('Hoge.user_id',array('type' => 'select','multiple' =>true,'options' => $groups_users));

とするとすっきりと<select>で<optgroup>してくれる。