【发布时间】:2019-11-19 16:53:19
【问题描述】:
这是我的代码:
DB::transaction(function () use ($r, $certificate, $candidate) {
UserCertificate::create([
'user_id' => $r['user_id'],
'certificate_id' => $certificate->id,
'issue_date' => Carbon::now()
]);
// create badge
$this->createCandidateBadge($candidate, $certificate);
});
创建候选人徽章时发生异常:$this->createCandidateBadge
但是当我看到user_certificates 表时,会创建一个证书!除非成功创建徽章,否则我不想在 DB 中创建证书!
【问题讨论】:
-
使用 try catch 并手动处理提交回滚
标签: php mysql laravel transactions