/** * @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; }
/** * {@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; }
/** * 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; }
/** * @return ArrayHash */ public function hydrateRow() { return ArrayHash::from(parent::hydrateRow()); }