zhijia/laravel-mongodb-transactions is a Laravel package for 扩展了jenssegers/laravel-mongodb,支持事务功能.
It currently has 1 GitHub stars and 2.223 downloads on Packagist.
Install it with composer require zhijia/laravel-mongodb-transactions.
Discover more Laravel packages by zhijia
or browse all Laravel packages to compare alternatives.
Last updated
Jensseger的laravel-mongodb扩展包在Laravel开发人员中非常受欢迎,但是缺少一个事务的功能。mongoDB 4.x支持多文档事务。因此,该软件包扩展了Jenssegers/laravel-mongodb,支持事务功能。
关于包的使用, 需要替换Jenssegers/laravel-mongodb:
Laravel
//Jenssegers\Mongodb\MongodbServiceProvider::class,
Zs\Mongodb\MongodbServiceProvider::class,
Lumen
//$app->register(Jenssegers\Mongodb\MongodbServiceProvider::class);
$app->register(Zs\Mongodb\MongodbServiceProvider::class);
$app->withEloquent();
Eloquent 仅扩展了关于事务相关的内容,因此直接替换 Jenssegers/laravel-mongodb
//use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
use Zs\Mongodb\Eloquent\Model as Eloquent;
class User extends Eloquent {}
//use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
use Zs\Mongodb\Eloquent\Model as Eloquent;
class MyModel extends Eloquent {
protected $connection = 'mongodb';
}
更多 Eloquent 文档见 (http://laravel.com/docs/eloquent)
DB::beginTransaction();
try {
User::insert($userData);
UserInfo::insert($userInfoData);
DB::commit();
} catch (\Exception $e) {
DB::rollBack();
throw $e;
}