
正文
tp5.1的事务操作
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
普通的事务操作很简单,最简单的方式是使用 transaction 方法操作数据库事务, 当闭包中的代码发生异常会自动回滚, 例如:
Db::transaction(function () {
Db::table('think_user')->find(1);
Db::table('think_user')->delete(1);
});
也可以手动控制事务, 例如:
// 启动事务
Db::startTrans();
try {
Db::table('think_user')->find(1);
Db::table('think_user')->delete(1);
// 提交事务
Db::commit();
} catch (\Exception $e) {
// 回滚事务
Db::rollback();
}
分布式数据库(多个服务器的数据库之间的操作可以这样写)
Db::connect($config)->startTrans();
try{Db::table('think_user')->find(1);
Db::table('think_user')->delete(1);
}catch (\Exception $e){
Db::connect($config)->rollback();
$this->error();
}
//$config 就是数据库的配置数据






