У меня есть код для сохранения пользователя и код для отправки почты, но я хочу выполнить откат, если при сохранении или отправке почты произошла ошибка, мой код выглядит следующим образом:
\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);
}
в почтовом коде была преднамеренно допущена ошибка.
проблема: перехват достигнут, но данные все еще вставлены в базу данных