save() публичный Метод

public save ( )
Пример #1
0
 public function setVolumes(DBServer $server, $volumes)
 {
     $vlms = [];
     foreach ($volumes as $volume) {
         $vlms[$volume->scalrStorageId] = $volume;
     }
     foreach ($this->getConfigs() as $config) {
         if ($vlms[$config->id]) {
             $volume = new FarmRoleStorageDevice();
             if (!$volume->loadById($vlms[$config->id]->id)) {
                 $volume->farmRoleId = $this->farmRole->ID;
                 $volume->storageConfigId = $config->id;
                 $volume->serverIndex = $server->index;
                 $volume->storageId = $vlms[$config->id]->id;
                 $volume->cloudLocation = $server->GetCloudLocation();
                 $volume->envId = $server->envId;
             }
             switch ($config->type) {
                 case FarmRoleStorageConfig::TYPE_RAID_EBS:
                     $volume->placement = $vlms[$config->id]->disks[0]->availZone;
                     break;
                 case FarmRoleStorageConfig::TYPE_EBS:
                     $volume->placement = $vlms[$config->id]->availZone;
                     break;
             }
             $volume->config = $vlms[$config->id];
             $volume->status = FarmRoleStorageDevice::STATUS_ACTIVE;
             $volume->save();
             unset($vlms[$config->id]);
         }
     }
     //TODO: Handle zombies
 }