public function select($columns) { if (!$this->sqlBuilder->getSelect()) { $this->sqlBuilder->addSelect("$this->name.$this->column"); } return parent::select($columns); }
public function aggregation($function) { $aggregation = & $this->refTable->aggregation[$function . implode('', $this->where) . implode('', $this->conditions)]; if ($aggregation === NULL) { $aggregation = array(); $selection = new NTableSelection($this->name, $this->connection); $selection->where = $this->where; $selection->parameters = $this->parameters; $selection->conditions = $this->conditions; $selection->select($function); $selection->select("{$this->name}.{$this->column}"); $selection->group("{$this->name}.{$this->column}"); foreach ($selection as $row) { $aggregation[$row[$this->column]] = $row; } } if (isset($aggregation[$this->active])) { foreach ($aggregation[$this->active] as $val) { return $val; } } }