如何使用Laravel的Illuminate Database类实现事务?

max*_*n15 2 php laravel laravel-4

我正在使用Laravel的Illuminate Database作为项目中的独立数据库.

正如Laravel的文档所示,似乎有一个DB :: transaction函数,我可以直接访问它.但是当我根据Illuminate的Github页面上的短维基包含Database\Capsule\Manager类时,我没有得到它.

我该如何访问该功能?看来我必须包括另一个类,但是哪一个?我不知道Laravel的内部!

Mat*_*row 5

你不应该包含另一个类,添加它告诉你的连接,以及包将为你做的其余部分.

要在调用DB :: transaction方法之后使用以下wiki之后的内容;

Capsule::transaction(function() {
    //Your code...
})
Run Code Online (Sandbox Code Playgroud)

或像这样手动;

try {

    Capsule::beginTransaction();

    //Your code....

    Capsule::commit();

} catch (\Exception $e){

    Capsule::rollback();
    //Handle anything else....

}
Run Code Online (Sandbox Code Playgroud)