簡體   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