Added transaction method to database connection and eloquent model.

This commit is contained in:
Taylor Otwell
2012-03-18 22:39:04 -05:00
parent fcff36a0ac
commit 0455438ebe
3 changed files with 51 additions and 15 deletions

View File

@@ -103,17 +103,6 @@ abstract class Model {
$this->fill($attributes);
}
/**
* Set the accessible attributes for the given model.
*
* @param array $attributes
* @return void
*/
public static function accessible($attributes)
{
static::$accessible = $attributes;
}
/**
* Hydrate the model with an array of attributes.
*
@@ -157,6 +146,28 @@ abstract class Model {
return $this;
}
/**
* Set the accessible attributes for the given model.
*
* @param array $attributes
* @return void
*/
public static function accessible($attributes)
{
static::$accessible = $attributes;
}
/**
* Execute a callback wrapped in a database transaction.
*
* @param Closure $callback
* @return void
*/
public static function transaction($callback)
{
with(new static)->query()->connection()->transaction($callback);
}
/**
* Create a new model and store it in the database.
*
@@ -211,9 +222,7 @@ abstract class Model {
*/
public static function all()
{
$model = new static;
return $model->query()->get();
return with(new static)->query()->get();
}
/**