/**
  * @return array
  */
 protected function hydrateAllData()
 {
     $arrayResult = parent::hydrateAllData();
     $readOnlyResult = [];
     if (is_array($arrayResult)) {
         foreach ($arrayResult as $data) {
             $readOnlyResult[] = $this->doHydrateRowData($this->getRootclassName(), $data);
         }
     }
     return $readOnlyResult;
 }
Example #2
0
 /**
  * {@inheritdoc}
  */
 protected function _hydrateRow(array $data, array &$cache, array &$result)
 {
     if (isset($this->_hints[TranslationWalker::HINT_TRANSLATION_FALLBACKS])) {
         foreach ($this->_hints[TranslationWalker::HINT_TRANSLATION_FALLBACKS] as $field => $alias) {
             if ($data[$field] && !$data[$alias]) {
                 $data[$alias] = $data[$field];
             }
             unset($data[$field]);
         }
     }
     return parent::_hydrateRow($data, $cache, $result);
 }
 protected function gatherRowData(array $data, array &$id, array &$nonemptyComponents)
 {
     $rowData = parent::gatherRowData($data, $id, $nonemptyComponents);
     foreach ($rowData['data'] as $dqlAlias => $data) {
         $class = $this->_rsm->aliasMap[$dqlAlias];
         $meta = $this->getClassMetadata($class);
         if ($meta->discriminatorMap) {
             $class = isset($data[$meta->discriminatorColumn['name']]) ? $meta->discriminatorMap[$data[$meta->discriminatorColumn['name']]] : null;
         }
         $rowData['data'][$dqlAlias]['__CLASS__'] = $class;
     }
     return $rowData;
 }
Example #4
0
 /**
  * Hydrate applicant records
  * 
  * @param type $stmt
  * @param type $resultSetMapping
  * @param array $hints
  * @return array
  */
 public function hydrateAll($stmt, $resultSetMapping, array $hints = array())
 {
     $result = parent::hydrateAll($stmt, $resultSetMapping, $hints);
     foreach ($result as $key => $applicant) {
         $name = array($applicant['firstName'], $applicant['middleName'], $applicant['lastName'], $applicant['suffix']);
         //remove blanks
         $name = array_filter($name, 'strlen');
         $applicant['fullName'] = implode(' ', $name);
         $answers = $applicant['answers'];
         $applicant['answers'] = array();
         foreach ($answers as $answer) {
             $pageId = $answer['page_id'];
             if (!isset($applicant['answers'][$pageId])) {
                 $applicant['answers'][$pageId] = array();
             }
             $applicant['answers'][$pageId][] = $this->hydrateAnswer($answer);
         }
         if ($applicant['decision']) {
             $decisions = array('nominateAdmit', 'nominateDeny', 'finalAdmit', 'finalDeny', 'acceptOffer', 'declineOffer');
             $final = '';
             foreach ($decisions as $decision) {
                 if ($applicant['decision'][$decision]) {
                     $final = $decision;
                 }
             }
             $applicant['decision']['status'] = $final;
         }
         foreach ($applicant['attachments'] as $attachmentKey => $attachment) {
             if (array_key_exists('answer_id', $attachment) and !empty($attachment['answer_id'])) {
                 unset($applicant['attachments'][$attachmentKey]);
             }
         }
         $result[$key] = $applicant;
     }
     return $result;
 }
Example #5
0
 /**
  * @return ArrayHash
  */
 public function hydrateRow()
 {
     return ArrayHash::from(parent::hydrateRow());
 }