Всем доброго времени суток! Есть вопрос по Zend Framework, а точнее по взаимодействию классов Zend_Form и Zend_Db_Table. Написал контроллер, который редактирует одну запись в таблице через веб-форму:
Код | function editAction() { $form = new StForm(); $this->view->form = $form;
if($this->_request->isPost()) { $formData = $this->_request->getPost(); if($form->isValid($formData)){ $st = new St(); // в классе St идёт описание обычной таблицы, где всего лишь два поля id_st и title $id = (int)$form->getValue('id_st'); $row = $st->fetchRow('id_st='.$id); $row->title=$form->getValue('title'); $row->save(); } else { $form->populate($formData); } } else { $id = (int)$this->_request->getParam('id_st', 0); if($id > 0) { $st = new St(); $st = $st->fetchRow('id_st='.$id); $form->populate($site->toArray()); } }
|
И код SiteForm:
Код | class SiteForm extends Zend_Form { //put your code here public function __construct() { parent::__construct(); $this->setName('add_site'); $id_site= new Zend_Form_Element_Hidden('id_st'); $title = new Zend_Form_Element_Text('title'); $title->setLabel('Title') ->setRequired(true) ->addFilter('StripTags') ->addValidator('NotEmpty');
$submit = new Zend_Form_Element_Submit('submit'); $submit->setAttrib('id', 'submitbutton');
$this->addElements(array($id_st, $title, $submit)); } }
|
Этот код работает как надо, но он редактирует всего лишь одну запись. А каким образом в форму для редактирования можно загрузить не одну запись, а сразу несколько?
|