在 cakephp 中更改$this>请求>数据



我正在使用 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->请求->数据,但更改仅在视图中可见,而不是在控制器中可见。

如果您知道如何在将请求数据发送到控制器之前更改请求数据,或者将数组从视图传递到控制器,请尝试帮助我(我不想使用会话或缓存)

问候

如果我正确理解了您的问题,并且从上面的评论中可以看出,这就是您的问题:

$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。

最新更新