public function listAction() { $categoryId = $this->params()->fromQuery('id'); /** @var \Subject\Model\Subject\CategoryMapper $categoryMapper */ $categoryMapper = $this->getServiceLocator()->get('Subject\\Model\\Subject\\CategoryMapper'); /** @var \Subject\Model\Subject\Category $category */ $category = new Category(); $category->setId($categoryId); if (!$category->getId() || !$categoryMapper->get($category)) { return $this->page404(); } /** @var \Subject\Model\Subject $subject */ $subject = new Subject(); $subject->setCategoryId($category->getId()); /** @var \Subject\Model\SubjectMapper $subjectMapper */ $subjectMapper = $this->getServiceLocator()->get('Subject\\Model\\SubjectMapper'); $subjects = $subjectMapper->featchAll($subject); $this->getViewModel()->setVariables(['subjects' => $subjects]); return $this->getViewModel(); }
public function listAction() { $categoryId = $this->params()->fromQuery('id'); /** @var \Subject\Model\Subject\CategoryMapper $categoryMapper */ $categoryMapper = $this->getServiceLocator()->get('Subject\\Model\\Subject\\CategoryMapper'); /** @var \Subject\Model\Subject\Category $category */ if (!$categoryId) { return $this->page404(); } /** @var \Subject\Model\Subject $subject */ $subject = new Subject(); if (count(explode(',', $categoryId)) > 1) { $count = 0; foreach (explode(',', $categoryId) as $sId) { $category = new Category(); $category->setId($sId); if (!$categoryMapper->get($category)) { $count++; } else { $categoryIds[] = $sId; } } if ($count == count(explode(',', $categoryId))) { return $this->page404(); } $subject->addOption('categoryIds', $categoryIds); } else { $category = new Category(); $category->setId($categoryId); if (!$category->getId() || !$categoryMapper->get($category)) { return $this->page404(); } $subject->setCategoryId($category->getId()); } /** @var \Subject\Model\SubjectMapper $subjectMapper */ $subjectMapper = $this->getServiceLocator()->get('Subject\\Model\\SubjectMapper'); $subjects = $subjectMapper->featchAll($subject); $this->getViewModel()->setVariables(['subjects' => $subjects]); return $this->getViewModel(); }
/** * * @author DuongNQ * @return array null * @param \Subject\Model\Subject\Category $cate */ public function save($cate) { $data = array('name' => $cate->getName(), 'description' => $cate->getDescription() ?: null, 'createdById' => $cate->getCreatedById(), 'createdDateTime' => $cate->getCreatedDateTime(), 'status' => $cate->getStatus()); /* @var $dbAdapter \Zend\Db\Adapter\Adapter */ $dbAdapter = $this->getServiceLocator()->get('dbAdapter'); /* @var $dbSql \Zend\Db\Sql\Sql */ $dbSql = $this->getServiceLocator()->get('dbSql'); if (!$cate->getId()) { $insert = $this->getDbSql()->insert(self::TABLE_NAME); $insert->values($data); $query = $dbSql->buildSqlString($insert); /* @var $results \Zend\Db\Adapter\Driver\Pdo\Result */ $results = $dbAdapter->query($query, $dbAdapter::QUERY_MODE_EXECUTE); $cate->setId($results->getGeneratedValue()); } else { $update = $this->getDbSql()->update(self::TABLE_NAME); $update->set($data); $update->where(['id' => (int) $cate->getId()]); $query = $dbSql->buildSqlString($update); $results = $dbAdapter->query($query, $dbAdapter::QUERY_MODE_EXECUTE); } return $results; }
public function editcategoryAction() { /** @var $categoryMapper \Subject\Model\Subject\CategoryMapper */ $categoryMapper = $this->getServiceLocator()->get('Subject\\Model\\Subject\\CategoryMapper'); $category = new Subject\Category(); $id = $this->params()->fromQuery('id'); $category->setId($id); if (!$category->getId() || !$categoryMapper->get($category)) { return $this->page404(); } $form = new \Admin\Form\Subject\Category($this->getServiceLocator()); $form->remove('afterSubmit'); $form->setData($category->toFormValues()); if ($this->getRequest()->isPost()) { $form->setData($this->getRequest()->getPost()); if ($form->isValid()) { $category->exchangeArray($form->getData()); $categoryMapper->save($category); return $this->redirect()->toUrl('/admin/subject/category'); } } $this->getViewModel()->setVariables(['form' => $form]); return $this->getViewModel(); }