我正在CakePHP 2.6中開發一個應用程序,我有一個窗體,用戶可以在創建日曆事件時設置一系列標誌。如何使用CakePHP中的Bitwise標記複選框?
我已經成功設置了'add'動作來顯示標誌,並在驗證後在控制器中循環並將值保存到我的表中。該過程使用按位完成。下面的代碼示例:
'加' 行動的看法:
echo $this->Form->input('flag', array('label' => false, 'type' => 'select', 'multiple' => 'checkbox', 'options' => $flagtypes, 'hiddenField' => false));
'加' 動作控制器:
$flags = 0;
foreach ($data['flag'] as $r) {
$flags |= (int)$r;
}
但是我遇到麻煩複選框標誌是顯示時,在編輯操作視圖中標記爲選定。
'編輯' 動作視圖:
$selected = array($results[0]['BitwiseFlag']);
echo $this->Form->input('flag', array('label' => false, 'type' => 'select', 'multiple' => 'checkbox', 'options' => $flagtypes, 'hiddenField' => false, 'selected' => $selected));
$結果[0] [ 'BitwiseFlag'] =在表32中。
$ flagtypes陣列:
array(2) { [32]=> string(4) "Test" [64]=> string(9) "Testing 2" }
你可能想看看[Bitmasked Behavior](https://github.com/dereuromark/cakephp-tools/blob/2.x/Model/Behavior/BitmaskedBehavior.php)和[article](http: //www.dereuromark.de/2012/02/26/bitmasked-using-bitmasks-in-cakephp/)。 – mark