示例#1
0
 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();
 }
示例#2
0
 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();
 }