DB::beginTransaction();
try{
//my logic
if(bad logic) throw new \Exception();
DB::commit();
return true;
}catch (\Exception $e) {
DB::rollback();
return false;
}
Так что же будет, если плохая логика создаст новое исключение? DB :: commit () не будет вызываться, поэтому записанные данные не будут сохранены в базе данных. Так какого черта мне нужно писать БД: rollback () вообще?
Задача ещё не решена.
Других решений пока нет …