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 次 |
| 最近记录: |