/** * Sum * * @access public * @param string $column * @return float */ public function sum($column) { $sql = sprintf('SELECT SUM(%s) FROM %s ' . implode(' ', $this->joins) . $this->condition->build() . $this->sqlOrder . $this->sqlLimit . $this->sqlOffset, $this->db->escapeIdentifier($column), $this->db->escapeIdentifier($this->name)); $rq = $this->db->execute($sql, $this->condition->getValues()); $result = $rq->fetchColumn(); return $result ? (double) $result : 0; }
/** * Increment column value * * @access public * @param string $column * @param string $value * @return boolean */ public function increment($column, $value) { $sql = sprintf('UPDATE %s SET %s=%s+%d ' . $this->condition->build(), $this->db->escapeIdentifier($this->name), $this->db->escapeIdentifier($column), $this->db->escapeIdentifier($column), $value); return $this->db->execute($sql, $this->condition->getValues()) !== false; }