【转】https://stackoverflow.com/questions/36764838/how-to-use-transaction-in-eloquent-model
I am using Eloquent ORM outside Laravel.
Here is the solution how I start transaction.
You can add an base model extend \Illuminate\Database\Eloquent\Model.
<?php
use Illuminate\Database\Eloquent\Model as EloquentModel;
class Model extends EloquentModel
{
public static function beginTransaction()
{
self::getConnectionResolver()->connection()->beginTransaction();
}
public static function commit()
{
self::getConnectionResolver()->connection()->commit();
}
public static function rollBack()
{
self::getConnectionResolver()->connection()->rollBack();
}
}
Then, you can use it like this:
Model::beginTransaction();
//do what you like.
Model::commit();
// OR
Model::rollBack();