我正在使用cakephp并尝试将数组从视图传递到控制器,我确实生成了一个名称复选框,用户应该选择一些名称并提交他的请求。
echo $this->Form->create('Task');
echo ($this->Form->input('sentTo', array('type' => 'select', 'multiple' => 'checkbox', 'options' => $options)));
echo $this->Form->end('submit');
问题是sentTo复选框将返回$ this->中检查的索引请求 - >数据我不想这样做,我想返回我可以在视图中获得的用户的ID 。所以我想用其他数字替换这些索引,我试图手动覆盖$ this-> request->数据,但更改只在视图中可见,而不是控制器。
如果您知道如何在将请求数据发送到控制器之前更改请求数据,或者将数组从视图传递到控制器,请尝试帮助我(我不想使用会话或缓存)
此致
答案 0 :(得分:0)
如果我理解你的问题,并且从上面的评论中,这是你的问题:
$j = 0;
foreach ($users as $user) {
$options[$j] = $user['u1']['username'];
$j++;
}
如果您使用该复选框,请将其更改为:
foreach ($users as $user) {
$id = $user['u1']['id'];
$options[$id] = $user['u1']['username'];
}
虽然我没有得到'u1'
的内容。
简而言之:将options
数组的键设置为记录的id。