我在项目中独立使用Laravel的Illuminate Database。
正如Laravel的文档显示,我可以直接访问DB::transaction function。 但是根据Illuminate的Github页面上的简短wiki,当我包含Database \ Capsule \ Manager类时,我没有得到它。
如何访问该功能?看来我必须包括另一个类,但是哪一个? 我不知道Laravel的内部结构!
答案 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....
}