Пример #1
0
 /**
  *
  * @author DuongNQ
  * @return array null
  * @param \Expert\Model\Expert\Subject $exp
  */
 public function save($exp)
 {
     $data = array('expertId' => $exp->getExpertId(), 'subjectId' => $exp->getSubjectId(), 'createdById' => $exp->getCreatedById(), 'createdDateTime' => $exp->getCreatedDateTime());
     /* @var $dbAdapter \Zend\Db\Adapter\Adapter */
     $dbAdapter = $this->getServiceLocator()->get('dbAdapter');
     /* @var $dbSql \Zend\Db\Sql\Sql */
     $dbSql = $this->getServiceLocator()->get('dbSql');
     if (!$exp->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);
         $exp->setId($results->getGeneratedValue());
     } else {
         $update = $this->getDbSql()->update(self::TABLE_NAME);
         $update->set($data);
         $update->where(['id' => (int) $exp->getId()]);
         $query = $dbSql->buildSqlString($update);
         $results = $dbAdapter->query($query, $dbAdapter::QUERY_MODE_EXECUTE);
     }
     return $results;
 }
Пример #2
0
 /**
  * @author DuongNQ
  * @param \Expert\Model\Expert\Subject $exp
  * todo lay tat ca mon hoc ma mentor care
  */
 public function fetchAllSubject($exp)
 {
     $select = $this->getDbSql()->select(['es' => self::TABLE_NAME]);
     $select->join(['s' => \Subject\Model\SubjectMapper::TABLE_NAME], 's.id=es.subjectId', 'name');
     if ($exp->getExpertId()) {
         $select->where(['es.expertId' => $exp->getExpertId()]);
     }
     if ($exp->getOption('expertIds')) {
         $select->where(['es.expertId' => $exp->getOption('expertIds')]);
     }
     $query = $this->getDbSql()->buildSqlString($select);
     $rows = $this->getDbAdapter()->query($query, Adapter::QUERY_MODE_EXECUTE);
     $rows = $rows->toArray();
     $result = [];
     if (count($rows)) {
         foreach ($rows as $r) {
             $result[$r['expertId']][$r['subjectId']] = $r['name'];
         }
     }
     //        vdump($result);die;
     return $result;
 }