thinkphp 事物处理可以不用 commit吗

2025-04-27 10:52:34
推荐回答(1个)
回答1:

事务支持
TPShop
ThinkPHP提供了单数据库的事务支持,如果要在应用逻辑中使用事务,可以参考下面的方法:
启动事务:
$User->startTrans();
提交事务:
$User->commit();
事务回滚:
$User->rollback();
事务是针对数据库本身的,所以可以跨模型操作的 。
例如:
// 在User模型中启动事务
$User->startTrans();
// 进行相关的业务逻辑操作
$Info = M("Info"); // 实例化Info对象
$Info->save($User); // 保存用户信息
if (操作成功){
// 提交事务
$User->commit();
}else{
// 事务回滚
$User->rollback();
}
注意:系统提供的事务操作方法必须有数据库本身的支持,如果你的数据库或者数据表类型不支持事务,那么系统的事务操作是无效的。