public function getColumns($includeVirtual = false) { // returns all columns if ($includeVirtual) { return $this->columns; } $names = array_fill_keys($this->columnNames, 1); return array_intersect_key($this->columns, $names); }