使用事务处理的话,需要数据库引擎支持事务处理。比如 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();
}如果本文对你有帮助,欢迎打赏本站

支付宝扫码打赏
微信扫码打赏
