CakephpのFormHelperでチェックボックスを複数用意する

Cakephp 2.6で、FormHelperでチェックボックスを複数表示したのでメモ

echo $this->Form->create('sample'); 
$option = ['サンプル', 'サンプル2'];
echo $this->Form->select('item', $option, array('multiple' => 'checkbox'));
echo $this->Form->end(); 

な感じでチェックボックスが複数出せませす

初期値をつけるのなら

$this->data[‘sample’][‘item’][0] = 0;
$this->data[‘sample’][‘item’][1] = 1;

とか$optionのインデックスの値を渡してやればチェックがつきます

$data = $this->Model->find(‘all’)

(int) 0 => array('sample' => array('item' => '1')),
(int) 1 => array('sample' => array('item' => '2')),
(int) 2 => array('sample' => array('item' => '3')),
(int) 3 => array('sample' => array('item' => '4')),

な感じでくるので、

$selected = [];
foreach ($data as $obj) {
    $selected['sample']['item'][] = $obj['sample']['item'];
}

でViewに渡してあげたらチェックセットされました

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください