【转】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();
本文介绍如何在非 Laravel 环境下使用 Eloquent ORM 进行事务处理。通过扩展 IlluminateDatabaseEloquentModel 类并实现 beginTransaction、commit 和 rollBack 方法来启动、提交或回滚事务。
1154

被折叠的 条评论
为什么被折叠?



