public static function getAverageFields(CustomDataPosition $pos, array $params = array()) { $filter = new CustomDataFilter($pos); $filter->field(null); $fields = $pos->getFieldsForClassPath(self::$classPath); foreach ($fields as $field) { $fieldName = Sanitize::saveDb($field->getFieldName()); $filter->fieldCalculation($fieldName, "AVG({$fieldName})"); } foreach ($params as $field => $value) { $filter->condition($field, $value); } $result = $filter->execute(); if ($result) { $data = new CustomData($pos); $row = Database::getObject()->fetchAssoc($result); if ($row) { $data = new CustomData($pos); $data->set($row, true, $fields); return $data->getFields(array_keys($fields)); } } return array(); }
public function retrieveTo(CustomData $obj) { $result = $this->execute(); $row = Database::getObject()->fetchAssoc($result); if ($row) { $obj->set($row, true); $obj->setCalculated($row, $this->getForeignCalcFields()); return true; } else { return false; } }