/** * SettingsCollection * * @param string $entityClass Entity class name with namespace * @param array $criteria Search criteria * @param array $defaultProperties optional Default values for new entities * @param array $settings optional Initial settings */ public function __construct($entityClass, array $criteria, array $defaultProperties = [], array $settings = []) { $this->entityClass = $entityClass; $this->criteria = $criteria; $this->defaultProperties = $defaultProperties; parent::__construct(); foreach ($settings as $setting) { $this->offsetSet($setting['name'], $setting); } }
/** * Constructor * * @param array $subtotals The subtotal fields in exact order * @param array $aggregateFields The fields which is used for aggregation */ public function __construct(array $subtotals, array $aggregateFields) { parent::__construct(); $this->subtotals = []; $i = 0; foreach ($subtotals as $k => $v) { if (is_numeric($k)) { $this->subtotals[$i] = $v; } else { $this->subtotals[$i] = $k; $this->associatedFields[$i] = $v; } $i++; } $this->aggregateFields = $aggregateFields; }