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 @@ class Grammar {
* @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 @@ class Grammar {
* @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 @@ class Grammar {
* @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 @@ class Grammar {
* @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 @@ class Query {
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.
* *