我有一个表单,我在我的视图中使用。我的观点如下:
<?php
$this->titel = "Arbeitskalender Termine";
$this->headTitle($this->titel);
foreach($this->aktermine as $termin) :
$this->nr=$this->escape($termin->nr);
$this->kopfnr=$this->escape($termin->kopfnr);
$this->datum=$this->escape($termin->datum);
$this->zeit=$this->escape($termin->zeit);
$this->thema=$this->escape($termin->thema);
echo $this->form ;
endforeach;
?>
我得到我的表格(这是一张表)我得到了与表格中记录相同的表格重复。但我没有在表单字段中看到任何记录。怎么了?如何在每个字段中获取数据集对象的值? 如果我在html中使用viewcript它可以正常工作。
答案 0 :(得分:1)
使用表单的bind()
方法将模型附加到表单。每个字段的值将从模型中提取并显示在表单中。
这有两种使用方式:
显示表单时,每个元素的初始值为 从模型中提取。
在
isValid()
中成功验证后,表单中的数据将被放回模型中。
要使用此方法,您需要在模型getArrayCopy()
中实施exchangeArray()
和Aktermine
。
所以在你的行动中,你会有这样的事情:
$form = new YourForm();
$form->bind($aktermine);
请参阅文档中的Editing an Album示例。
如果您使用的是学说,只需将getArrayCopy()
添加到您的实体中,如下所示:
public function getArrayCopy(){
return get_object_vars($this);
}
然后在你的控制器动作中:
$form->bind($yourEntity);