最近我开始接触PHP/Laravel(之前有15年以上的Java开发经验)。我在代码库中注意到了以下代码:
public function doSomeStuffInDb() {
DB::beginTransaction();
// Some db calls here
DB::commit();
}
我已经找到文档,正确的方法是使用包含db调用的闭包来使用DB::transaction
。
但是,如果在 DB::commit()
调用之前调用数据库时发生异常会发生什么呢?因为您没有提交,所以我认为不会存储任何内容,但它是否会产生进一步的后果(例如db行锁)?当离开函数时,事务是否会被中止?