public function indexAction() { // форма для добавления нап.бутылок $form = new Application_Form_FilledBottle(); // если есть post данные if ($this->getRequest()->isPost()) { $request = $this->getRequest(); // и они валидны if ($form->isValid($request->getPost())) { // создаём объект нап.бутылки (попутно объект её бутылки и напитка) $formValues = $form->getValues(); $filledBottle = new Application_Model_FilledBottles(); $bottle = new Application_Model_Bottles(); $bottle->setId($formValues['bottle_id']); $beverage = new Application_Model_Beverages(); $beverage->setId($formValues['beverage_id']); $filledBottle->setName($formValues['name'])->setBeverage($beverage)->setBottle($bottle); // сохраняем новую нап.бутылку $this->filledBottles->save($filledBottle); // добавляем сообщение об удачном добавлении $this->_flashMessenger->addMessage('Наполненная бутылка ' . $filledBottle->getName() . ' добавлена'); return $this->_helper->redirector('index'); } } // отправляем нап.бутылку и форму в вид $this->view->filledBottles = $this->filledBottles->fetchAll(); $this->view->form = $form; }
/** * создает объект наполненной бутылки * * @param Object $row * @return Application_Model_FilledBottles $bottle */ private function createFilledBottle($row) { // создаём объект бутылки $bottle = new Application_Model_Bottles(); $bottle->setId($row->bottle_id)->setName($row->bottle_name)->setDescription($row->bottle_description)->setImg($row->bottle_img_src); // создаём объект напитка $beverage = new Application_Model_Beverages(); $beverage->setId($row->beverage_id)->setName($row->beverage_name)->setDescription($row->beverage_description); // создаём объект наполненной бутылки $filledBottle = new Application_Model_FilledBottles(); $filledBottle->setId($row->id)->setName($row->name)->setBottle($bottle)->setBeverage($beverage); return $filledBottle; }
/** * создает объект бутылки * * @param Object $row * @return Application_Model_Bottles $bottle */ private function createBottle($row) { $bottle = new Application_Model_Bottles(); $bottle->setId($row->id)->setName($row->name)->setDescription($row->description)->setImg($row->img_src); return $bottle; }