我有一个表格,其中包含A类的5个子表格,以及B类的另一个子表格。
我想首先在视图中显示A类的子表单,但我不知道如何只检索它们。
我应该创建另一个包含A类5个子表单的子表单吗? 有没有办法根据模式获取子表单?
我正在控制器中的表格如下:
for($i = 0; $i < 6; $i++)
{
$form = new ContractLink_Form_ContractOMFOverrideAppendix();
$form->setElementsBelongTo('override' . $i);
if(isset($overrides[$i])) {
$form->populate($overrides[$i]);
}
$formSuper->addSubForm($form, 'OMFOverrideAppendixForm' . $i);
}
我正在使用zf1。
答案 0 :(得分:2)
正如IRC所说,
您可以使用instanceof PHP operator检查子表单的类。
$subForms = $form->getSubForms();
foreach ( $subForms as $subForm ) {
if ($subForm instanceof A) {
// stuff to do for 'A' type of subform
}
}