/** * Attempts to load all static data within the children DTO * objects. * * @param Staticdata $staticData * @return $this */ public function loadStaticData(Staticdata $staticData) { $fields = $this->getStaticFields(); $optimizer = new StaticOptimizer(); $optimizer->optimizeFields($fields)->setStaticInfo($staticData); $this->addStaticData($optimizer); return $this; }
/** * Takes a result array and attempts to fill in any needed * static data. * * @param staticOptimizer $optimizer * @return void */ protected function addStaticData(StaticOptimizer $optimizer) { $splHash = spl_object_hash($this); $info = $optimizer->getDataFromHash($splHash); foreach ($this->staticFields as $field => $data) { $infoArray = $info[$data]; $fieldValue = $this->info[$field]; $staticData = $infoArray[$fieldValue]; $this->info[$data . 'StaticData'] = $staticData; } }