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に渡してあげたらチェックセットされました