CakePHP1.3 お手軽な複数チェックボックスの作り方
notoです。
CakePHPでforeach内のチェックボックス作成をどうしたらいいものかと、悩んでおりましたところ。 google先生がよさげな方法を教えてくれました。
まずは、viewです。 注目すべきところは、$form->checkboxの'User.id.' . $user['User']['id']
の部分です。 これで一意のフィールド名を指定してあげることができます。
環境
- CakePHP1.3
View
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
次にControllerです。 $this->dataの中は、User.id.[1] User.id.[2] User.id.[3]・・・・で格納されているので、 foreachでループさせながら、チェックボックスにチェックされたIDのユーザーを削除することができます。
Controller
1 2 3 4 5 |
|
これだけでhelper等を作成する必要なく、さくっと複数チェックボックスが作成できます。
ちなみに、上記のやり方は、SecurityComponent利用時に、使えませんので少し修正してあげる必要があります。
SecurityComponent使用時
変更点は、$form->checkboxの'User' . $user['User']['id'] . 'id'
の部分です。 こうすることで、SecurityComponent使用時でもPOSTすることができます。
View
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Controller
1 2 3 4 5 |
|
これ考えた人頭いいですね。。。
参考
Multiple checkboxes