protected function fetchValues() { $allValues = parent::fetchValues(); $mergeData = array(); foreach ($this->report->getMergeFields() as $mergeField) { $mergeData[$mergeField] = $allValues[$mergeField]; } for ($i = 0; $i < count($this->substmts); $i++) { $substmt = $this->substmts[$i]; if (!isset($this->lastValues[$i])) { $this->lastValues[$i] = $substmt->fetch(\PDO::FETCH_ASSOC); } while ($this->checkMergeValues($mergeData, $this->lastValues[$i])) { $currValues = $this->lastValues[$i]; $allValues[$currValues["__KEY__"]] = $currValues["__VALUE__"]; $this->lastValues[$i] = $substmt->fetch(\PDO::FETCH_ASSOC); } } return $allValues; }