繁体   English   中英

Zend Framework多维表单数组

[英]Zend Framework Multidimensional Form Array

我需要使用zend框架创建多维数组形式。 当我发布表格时,我应该能够得到以下结果。

Array
(
    [Address] => Array
        (
            [customer] => Array
                (
                    [name] => Customer Name
                )

            [guest] => Array
                (
                    [name] => Guest Name
                )

        )

)

由于某种原因,我无法获得上述结果。 到目前为止,我得到的结果是这样。

Array
(
     [customer_name] => Customer Name
     [guest_name] => Guest Name
)

所以我的问题是Zend_Form是否支持多维表单数组? 如果是,怎么办?

提前致谢...

这个问题不是关于ZF,而是关于<form>系统。 要检索多维表单数组,您必须提供好名字属性。

在ZF中,要操纵名称,可以使用:

$form->myelement->setAttrib('name', 'myname'); $form->myelement->setName('myname');

要执行您期望的操作,您必须使用类似以下的命名形式:

$form->element1->setName('[address][customer][name]');
$form->element2->setName('[address][guest][name]');

使用此命名,您将能够在多维数组中检索POST数据。

使用子窗体,您只能操纵第一维。 因此元素将具有如下命名形式:

$subform1->setName('customer');
$subform1->element1->setName('[address][name]');
[...]//do it for each element

$subform2->setName('guest');
$subform2->element1->setName('[address][name]');
[...]//do it for each element

Zend_Form_Element的setName()方法已过滤,不允许使用[和]。

setBelongsTo()方法就是为此而创建的。 但是我不确定setName()和setBelongsTo()对可以处理多个维度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM