|
@@ -590,7 +590,32 @@ class Query {
|
|
*/
|
|
*/
|
|
public function increment($column, $amount = 1)
|
|
public function increment($column, $amount = 1)
|
|
{
|
|
{
|
|
- return $this->update(array($column => Manager::raw($this->grammar->wrap($column).' + '.$amount)));
|
|
|
|
|
|
+ return $this->adjust($column, $amount, ' + ');
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * Decrement the value of a column by a given amount.
|
|
|
|
+ *
|
|
|
|
+ * @param string $column
|
|
|
|
+ * @param int $amount
|
|
|
|
+ * @return int
|
|
|
|
+ */
|
|
|
|
+ public function decrement($column, $amount = 1)
|
|
|
|
+ {
|
|
|
|
+ return $this->adjust($column, $amount, ' - ');
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * Adjust the value of a column up or down by a given amount.
|
|
|
|
+ *
|
|
|
|
+ * @param string $column
|
|
|
|
+ * @param int $amount
|
|
|
|
+ * @param string $operator
|
|
|
|
+ * @return int
|
|
|
|
+ */
|
|
|
|
+ protected function adjust($column, $amount, $operator)
|
|
|
|
+ {
|
|
|
|
+ return $this->update(array($column => Manager::raw($this->grammar->wrap($column).$operator.$amount)));
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|