这应该是一个很好的简单问题。
在一个表单上,我有许多与为特定功能选择不同用户有关的复选框。复选框是这样创建的
$this->Form->input("user_select", array(
"type" => "checkbox",
"name" => "data[Registration][User][]",
"id" => "UserId" . $user['User']['id'],
"value" => $user['User']['id'],
"label" => false
));
提交此表单时,它会通过注册控制器,但 request->data 数组包含未选中的复选框,格式如下:
array(
'Registration' => array(
'Users' => array(
(int) 0 => '0',
(int) 1 => '0',
(int) 2 => '0',
(int) 3 => '0',
(int) 4 => '31',
(int) 5 => '0',
(int) 6 => '11'
),
)
现在数据没有问题,可以清楚地看到用户的 31 和 11 已被选中,但我更喜欢以下形式的数组:
array(
'Registration' => array(
'Users' => array(
(int) 4 => '31',
(int) 6 => '11'
),
)
这将使处理和验证更加容易。
那么,CakePHP 是否具有防止未选中的复选框显示在 request->data 数组中的功能?