/**
  * 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;
 }
Example #2
0
 /**
  * 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;
     }
 }