使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用 InnoDB 引擎。
使用 transaction 方法操作数据库事务,当发生异常会自动回滚,例如:
自动控制事务处理
Db::transaction(function(){ Db::name('user')->find(1); Db::name('user')->delete(1);});
不看手册还不知道有transaction方法更简便的处理方式,
个人一直还是使用的手动控制事务方法
// 启动事务 Db::startTrans(); try{ Db::name('user')->find(1); Db::name('user')->delete(1); // 提交事务 Db::commit(); } catch (\Exception $e) { // 回滚事务 Db::rollback(); }
如果本文对你有帮助,欢迎打赏本站