[英]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.