Zend Framework:使用mapper中的数据填充表单

时间:2010-07-28 07:29:56

标签: zend-framework zend-form datamapper

有一个使用官方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模式使用值填充表单(例如,编辑来自快速入门的留言簿条目)?

2 个答案:

答案 0 :(得分:3)

public function init() {

    $model = new News_Model_Backend();
    $this->populate($model->toArray());
...

答案 1 :(得分:1)

使用此:

$form->populate($model->find($id)->current()->toArray());