我正在尝试创建一个 Yii ActiveForm 来编辑对象列表中的值,并以表格的形式呈现。
涉及的类:
class ResultForm extends CFormModel {
/**
* @var array[Result]
*/
public $results; //Filled with an array of Result objects
}
class Result {
public $requiredArea;
}
我的观点:
<% $form = $this->beginWidget('CActiveForm'); %>
<table>
....
<% $rowCounter = 0; foreach($resultForm->results as $result): %>
...
<tr>
....
<td>
<!-- This doesn't work -->
<% $form->textField($resultForm,
"results[$rowCounter]->requiredArea") %>
<!-- Just displaying the value works -->
<%= $resultForm->results[$rowCounter]->requiredArea %>
</td>
...
</tr>
<% $rowCounter++; endforeach; %>
</table>
<% $this->endWidget(); %>
文本字段被渲染并且 Yii 没有抱怨,但它们不包含正确的值。
有没有办法可以使这项工作,或者是否有更好的方法来遍历表单中的对象数组?