我有用于保存用户的代码和用于发送邮件的代码,但是如果保存或发送邮件有错误,我想回滚,这是我的代码:
\DB::beginTransaction();
try{
$user->save();
//role
$user->attachRole($role);
//send email
\DB::commit();
Mail::to($user->email)->send(new ActivationCode($user));
return response()->json([
'status' => 'success',
'message' => 'Berhasil mendaftar, cek email anda untuk mendapatkan kode aktivasi'
], 201);
}catch(\Exception $e){
\DB::rollback();
return response()->json([
'status' => 'fail',
'message' => 'Terjadi kesalahan, harap periksa kembali form pendaftaran'
], 400);
}
邮件代码是故意出错的。
问题:已达到捕获量,但数据仍插入数据库中
答案 0 :(得分:2)
您必须首先发送邮件,然后提交更改。
this.ingredients[ingredientInList].amount = parseInt(this.ingredients[ingredientInList].amount) + parseInt(ingredient.amount);