有一个使用官方quickstart中的mapper从表单获取数据的示例。但整个互联网中没有一个例子,填充表格,数据来自mapper (例如,通常的编辑操作)。
我通常做这样的事情(不使用mapper和dbTable):
class News_Model_Form_News extends Zend_Form {
private $id = 0;
public function getId(){
return $this->id;
}
public function setId($id){
$this->id = $id;
}
public function init() {
$model = new News_Model_Backend();
//if form is needed for adding action
if (!$this->id) {
//form code
} else {
//if form is needed for edit action (fill with values)
//form code with values
}
}}
但是使用mapper模式这个东西应该变得更加优雅和酷,但我不知道该怎么做。
所以问题是如何使用mapper模式使用值填充表单(例如,编辑来自快速入门的留言簿条目)?
答案 0 :(得分:3)
public function init() {
$model = new News_Model_Backend();
$this->populate($model->toArray());
...
答案 1 :(得分:1)
使用此:
$form->populate($model->find($id)->current()->toArray());