/ / Zend Form - उप प्रपत्र तत्वों पर मान कैसे सेट करें? - php, zend-Framework, zend-form

ज़ेंड फॉर्म - उप फॉर्म तत्वों पर मूल्य कैसे सेट करें? - PHP, ज़ेंड-फ्रेमवर्क, ज़ेंड-फॉर्म

array
"subQuantity" =>
array
"quantity_6" => string "23" (length=2)
"quantity_16" => string "23" (length=2)
"quantity_18" => string "23" (length=2)
"update" => string "Update" (length=6)

अच्छा दिन! मैंने अभी अपने मौजूदा ज़ेंड फॉर्म से एक सबफॉर्म बनाया है और फॉर्म सबमिट होने पर यह डेटा खरीदता है। पोस्ट किए गए डेटा (मात्रा_ तत्वों) के आधार पर, मैं उप-तत्वों को मान सेट करना चाहूंगा। क्या यह संभव है? अग्रिम में धन्यवाद। चीयर्स और खुश कोडिंग!

उत्तर:

उत्तर № 1 के लिए 7

निश्चित नहीं है कि क्या आप व्यक्तिगत सबफॉर्म तत्वों या उन सभी के मूल्यों को एक साथ सेट करना चाहते हैं। फिर भी आप पॉप्युलेट विधि का उपयोग कर सकते हैं। उदाहरण के लिए:

 $yourForm->populate(array(
"subQuantity" => array(
"quantity_6" => "some value 1",
"quantity_16" => "some value 2",
"quantity_18" => "some value 3",
)
));

संपादित करें:

यहां अलग-अलग फ़ील्ड सेट करने के कुछ तरीके दिए गए हैं:

$yourForm->populate(array(
"subQuantity" => array(
"quantity_16" => "some value",
)
));

// OR

$yourForm->getSubForm("subQuantity")->getElement("quantity_16")->setValue("some value");

// this also should work (not sure if it works with underscore in "quantity_16" though)

$yourForm->subQuantity->quantity_16->setValue("some value");

जवाब के लिए 0 № 2
    $formSuper = new ContractLink_Form_ContractAllotmentSuper();
foreach($allotments as $key => $allotment)
{
$form = new ContractLink_Form_ContractAllotment();
$form->populate($allotment);
$formSuper->addSubForm($form, "contractAllotmentForm" . $key);
}