В вашем примере транзакция будет откатываться только при наличии исключения.
Примечание. Любое исключение, возникающее при закрытии транзакции, приведет к автоматическому откату транзакции.
Вы должны вручную начать транзакцию с DB::beginTransaction()
и завершить ее с DB::rollback()
или DB::commit()
Это также возможно сделать в операторе try catch.
try {
DB::beginTransaction();
// Do something
DB::commit();
} catch (\Exception $e) {
DB::rollback();
throw $e;
}