예제 #1
0
 function apply(Elite_Vaf_Model_Vehicle $descendant)
 {
     $titles = $descendant->toTitleArray();
     $levelsToReplace = $this->getSchema()->getPrevLevelsIncluding($this->grain);
     foreach ($levelsToReplace as $levelToReplace) {
         $replacementTitle = $this->vehicle()->getLevel($levelToReplace)->getTitle();
         $titles[$levelToReplace] = $replacementTitle;
     }
     foreach ($this->newTitles as $replacementTitle) {
         $titles[$this->grain] = $replacementTitle;
         $new_vehicle = Elite_Vaf_Model_Vehicle::create($this->getSchema(), $titles);
         $new_vehicle->save();
         $this->mergeFitments($descendant, $new_vehicle);
     }
 }