diff --git a/.travis.yml b/.travis.yml index 51b9075..a5306e7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,11 +1,14 @@ +sudo: false + language: php php: - 5.3 - 5.4 + - 5.5 before_script: - - curl -s http://getcomposer.org/installer | php - - php composer.phar install --prefer-source --no-interaction --dev + - curl -sS http://getcomposer.org/installer | php + - php composer.phar install --prefer-source --no-interaction script: phpunit diff --git a/src/Pixie/QueryBuilder/QueryBuilderHandler.php b/src/Pixie/QueryBuilder/QueryBuilderHandler.php index 36d2a19..8af0eba 100644 --- a/src/Pixie/QueryBuilder/QueryBuilderHandler.php +++ b/src/Pixie/QueryBuilder/QueryBuilderHandler.php @@ -23,7 +23,7 @@ class QueryBuilderHandler protected $statements = array(); /** - * @var PDO + * @var \PDO */ protected $pdo; @@ -434,7 +434,6 @@ public function delete() list($response, $executionTime) = $this->statement($queryObject->getSql(), $queryObject->getBindings()); $this->fireEvents('after-delete', $queryObject, $executionTime); - return $response; } @@ -790,6 +789,21 @@ public function join($table, $key, $operator = null, $value = null, $type = 'inn return $this; } + public function transaction(\Closure $callback) + { + try { + $this->pdo->beginTransaction(); + + $callback($this); + $this->pdo->commit(); + + return true; + } catch (\Exception $e) { + $this->pdo->rollBack(); + return false; + } + } + /** * @param $table * @param $key