Vla*_*kic 5 transactions eloquent laravel-5
我正在使用MyISAM for MySQL,我想在这里使用事务是我的代码:
DB::transaction(function () {
$project = Project::find($id);
$project->users()->detach();
$project->delete();
});
Run Code Online (Sandbox Code Playgroud)
这段代码成功执行,但我不确定交易是否有效...我该如何测试呢?
del*_*bel 16
实际上只有两种方法,特别好,因为DB:transaction不报告错误.
在闭包内放置一个try/catch块,如果事务失败,则在catch块中设置一个外部变量.
根据此示例,使用DB :: beginTransaction和rollback/commit再次使用异常处理程序执行手动事务:
DB::beginTransaction(); try { $project = Project::find($id); $project->users()->detach(); $project->delete(); DB::commit(); $success = true; } catch (\Exception $e) { $success = false; DB::rollback(); } if ($success) { // the transaction worked ... }
归档时间: |
|
查看次数: |
10239 次 |
最近记录: |