added increment method to query builder.

This commit is contained in:
Taylor Otwell 2011-10-12 21:27:29 -05:00
parent 68455378cc
commit 559785f168
2 changed files with 16 additions and 4 deletions

View File

@ -325,7 +325,7 @@ public function delete(Query $query)
* @param array $columns * @param array $columns
* @return string * @return string
*/ */
protected function columnize($columns) public function columnize($columns)
{ {
return implode(', ', array_map(array($this, 'wrap'), $columns)); return implode(', ', array_map(array($this, 'wrap'), $columns));
} }
@ -340,7 +340,7 @@ protected function columnize($columns)
* @param string $value * @param string $value
* @return string * @return string
*/ */
protected function wrap($value) public function wrap($value)
{ {
if (strpos(strtolower($value), ' as ') !== false) return $this->alias($value); if (strpos(strtolower($value), ' as ') !== false) return $this->alias($value);
@ -376,7 +376,7 @@ protected function alias($value)
* @param array $values * @param array $values
* @return string * @return string
*/ */
protected function parameterize($values) public function parameterize($values)
{ {
return implode(', ', array_map(array($this, 'parameter'), $values)); return implode(', ', array_map(array($this, 'parameter'), $values));
} }
@ -391,7 +391,7 @@ protected function parameterize($values)
* @param mixed $value * @param mixed $value
* @return string * @return string
*/ */
protected function parameter($value) public function parameter($value)
{ {
return ($value instanceof Expression) ? $value->get() : '?'; return ($value instanceof Expression) ? $value->get() : '?';
} }

View File

@ -581,6 +581,18 @@ public function insert_get_id($values, $sequence = null)
return (int) $this->connection->pdo->lastInsertId($sequence); return (int) $this->connection->pdo->lastInsertId($sequence);
} }
/**
* Increment the value of a column by a given amount.
*
* @param string $column
* @param int $amount
* @return int
*/
public function increment($column, $amount = 1)
{
return $this->update(array($column => Manager::raw($this->grammar->wrap($column).' + '.$amount)));
}
/** /**
* Update an array of values in the database table. * Update an array of values in the database table.
* *