【问题标题】:Zend Framework: Fill form with data from mapperZend 框架:使用映射器中的数据填充表单
【发布时间】:2011-03-22 00:21:44
【问题描述】:

官方quickstart中有一个使用mapper从表单获取数据的例子。但是在整个 Internet 中没有使用来自映射器的数据填充表单的示例(例如,用于通常的编辑操作)。

我通常会做这样的事情(不使用 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
    }
}}

但是有了映射器模式,这些东西应该会变得更加优雅和酷,但我不知道该怎么做。

那么问题是如何使用映射器模式填充表单值(例如,用于从快速入门编辑留言簿条目)?

【问题讨论】:

    标签: zend-framework zend-form datamapper


    【解决方案1】:

    使用这个:

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

    【讨论】:

      【解决方案2】:
      public function init() {
      
          $model = new News_Model_Backend();
          $this->populate($model->toArray());
      ...
      

      【讨论】:

      猜你喜欢
      • 2011-11-29
      • 2012-09-02
      • 2011-10-05
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-18
      • 2012-01-31
      相关资源
      最近更新 更多