在CakePHP中处理多个URL值

时间:2009-05-19 13:35:16

标签: cakephp

我正在使用CakePHP框架开发一个站点。我有一个显示实体列表的表单,每个实体都有一个复选框,允许您选择它。然后,您可以按表单底部的“编辑所选”按钮。

我通常的方法是为每个复选框输入相同的名称(例如row_id),并使用主ID作为输入value。但是,当您提交表单时,CakePHP似乎只会将复选框值的一个返回到$this->params['url']中的控制器,而不是像我期望的任何类型的列表。

有关处理此问题的正确方法的任何提示,以便我可以找出已勾选的行?

1 个答案:

答案 0 :(得分:1)

如果您使用的是FormHelper,最简单的方法是创建这样的字段:

echo $form->input('ModelName.0.row_id', /* snip */)
echo $form->input('ModelName.1.row_id', /* snip */)

等等......你明白了。如果它是动态列表,则始终存在for循环。

当表单被POST时,这应该给你一个像这样的服务器端数组($ this-> data):

array
(
    ['ModelName'] => array
    (
        [0] => array
        (
            [row_id] => value
        ),
        [1] => array
        (
            [row_id] => value
        )
    )
)

然后你可以使用Set实用程序类来提取你的ID(并弄乱你的数据:))