public function __get($name)
{
switch ($name) {
case 'settings':
if (empty($this->_settings)) {
$this->_settings = new SettingsCollection('Scalr\\Model\\Entity\\FarmRoleSetting', [['farmRoleId' => &$this->id]], ['farmRoleId' => &$this->id]);
}
return $this->_settings;
// @deprecated
// @deprecated
case 'farm':
if (empty($this->_farm) && !empty($this->farmId)) {
$this->_farm = Farm::findPk($this->farmId);
}
return $this->_farm;
// @deprecated
// @deprecated
case 'role':
if (!empty($this->roleId)) {
if (empty($this->_role) || $this->_role->id != $this->roleId) {
$this->_role = Role::findPk($this->roleId);
}
}
return $this->_role;
case 'farmRoleMetrics':
if (empty($this->_farmRoleMetrics)) {
$farmRoleMetrics = [];
/* @var $farmRoleMetric FarmRoleScalingMetric */
foreach (FarmRoleScalingMetric::findByFarmRoleId($this->id) as $farmRoleMetric) {
$farmRoleMetrics[$farmRoleMetric->metricId] = $farmRoleMetric;
}
if (!empty($farmRoleMetrics)) {
/* @var $metric ScalingMetric */
foreach (ScalingMetric::find([['id' => ['$in' => array_keys($farmRoleMetrics)]]]) as $metric) {
/* @var $farmRoleMetric FarmRoleScalingMetric */
$farmRoleMetric = $farmRoleMetrics[$metric->id];
$farmRoleMetric->metric = $metric;
$this->_farmRoleMetrics[$metric->name] = $farmRoleMetric;
}
}
}
return $this->_farmRoleMetrics;
default:
return parent::__get($name);
}
}