public function addAction() { $form = new \Admin\Form\Subject\Subject($this->getServiceLocator()); if ($this->getRequest()->isPost()) { $form->setData($this->getRequest()->getPost()); if ($form->isValid()) { $data = $form->getData(); $subject = new Subject(); $subject->exchangeArray($data); $subject->setCreatedById($this->user()->getIdentity()); $subject->setCreatedDateTime(DateBase::getCurrentDateTime()); $subject->setStatus(Subject::STATUS_ACTIVE); $subjectMapper = $this->getServiceLocator()->get('Subject\\Model\\SubjectMapper'); $subjectMapper->save($subject); if ($form->get('afterSubmit')->getValue()) { return $this->redirect()->toUrl($form->get('afterSubmit')->getValue()); } } } $this->getViewModel()->setVariable('form', $form); return $this->getViewModel(); }
/** * todo trả lại một mảng tên và id môn học cho hàm search ở trang chủ * @return array * @param array $searchDatas */ public function fetchSearch($searchDatas) { $select = $this->getDbSql()->select(array('s' => self::TABLE_NAME)); if (is_array($searchDatas)) { foreach ($searchDatas as $subjectName) { $select->where(['s.name LIKE ?' => '%' . $subjectName . '%'], 'OR'); } } $query = $this->getDbSql()->buildSqlString($select); $results = $this->getDbAdapter()->query($query, Adapter::QUERY_MODE_EXECUTE); $subjects = array(); if (count($results)) { foreach ($results as $s) { $subject = new Subject(); $subject->exchangeArray((array) $s); $subjects[] = $subject; } } return $subjects; }
/** * @author DuongNQ * @param \Subject\Model\Subject $sub */ public function featchAll($options) { $select = $this->getDbSql()->select(array('s' => self::TABLE_NAME)); if ($options == 'category') { $select->join(['c' => Subject\CategoryMapper::TABLE_NAME], 's.categoryId = c.id', ['categoryName' => 'name']); } if ($options instanceof Subject && $options->getCategoryId()) { $select->where(['s.categoryId' => $options->getCategoryId()]); } $select->order(['s.id' => 'DESC']); $query = $this->getDbSql()->buildSqlString($select); $results = $this->getDbAdapter()->query($query, Adapter::QUERY_MODE_EXECUTE); $subjects = array(); if (count($results)) { foreach ($results as $r) { if ($r['categoryName']) { $subjects[$r['categoryId'] . '-' . $r['categoryName']][] = (array) $r; } else { $subject = new Subject(); $subjects[] = $subject->exchangeArray((array) $r); } } } return $subjects; }