Zend Framework: заполнить форму данными из картографа - PullRequest
0 голосов
/ 28 июля 2010

Существует пример получения данных из формы с использованием mapper в официальном quickstart .Но во всем Интернете нет примера заполнения формы данными из картографа (например, для обычного действия редактирования).

Обычно я делаю что-то подобное(без использования 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 этот материал должен стать более элегантным и крутым, но я не знаю, как это сделать.

Так что вопросКак заполнить форму значениями, используя шаблон маппера (например, для редактирования записи в гостевой книге из быстрого старта)?

Ответы [ 2 ]

3 голосов
/ 28 июля 2010
public function init() {

    $model = new News_Model_Backend();
    $this->populate($model->toArray());
...
1 голос
/ 19 июня 2012

Используйте это:

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