Exemplo n.º 1
0
 public static function targetToData(OrchestrationRule $entity, $object)
 {
     /* @var $entity FarmRoleScript */
     parent::targetToData($entity, $object);
     if ($entity->target == static::TARGET_VALUE_SPECIFIED_FARM_ROLE) {
         /* @var $entity FarmRoleScript */
         $farmRole = new FarmRole();
         $targets = new FarmRoleScriptingTarget();
         /* @var $target FarmRole */
         foreach (FarmRole::find([['farmId' => $entity->farmId], AbstractEntity::STMT_FROM => "{$farmRole->table()} JOIN {$targets->table('t')} ON {$targets->columnTarget('t')} = {$farmRole->columnAlias()}", AbstractEntity::STMT_WHERE => "{$targets->columnFarmRoleScriptId('t')} = {$targets->qstr('farmRoleScriptId', $entity->id)} AND {$targets->columnTargetType('t')} = {$targets->qstr('targetType', OrchestrationRule::TARGET_ROLES)}"]) as $target) {
             $object->target->roles[] = ['id' => $target->id];
         }
     }
 }
Exemplo n.º 2
0
 /**
  * {@inheritdoc}
  * @see AbstractEntity::__get()
  */
 public function __get($name)
 {
     switch ($name) {
         case 'targets':
             if (empty($this->_targets)) {
                 $this->_targets = FarmRoleScriptingTarget::findByFarmRoleScriptId($this->id)->getArrayCopy();
             }
             return $this->_targets;
         default:
             return parent::__get($name);
     }
 }