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

时间:2014-10-21 15:37:54

标签: php laravel laravel-4

我在项目中独立使用Laravel的Illuminate Database

正如Laravel的文档显示,我可以直接访问DB::transaction function。 但是根据Illuminate的Github页面上的简短wiki,当我包含Database \ Capsule \ Manager类时,我没有得到它。

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

1 个答案:

答案 0 :(得分:5)

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

要调用DB :: transaction方法,请在执行wiki之后使用以下命令;

Capsule::transaction(function() {
    //Your code...
})

或像这样手动;

try {

    Capsule::beginTransaction();

    //Your code....

    Capsule::commit();

} catch (\Exception $e){

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

}