PHP框架 --ThinkPHP 3.2.2 数据库事务操作的实现
2017-05-16 22:56:55
•
阅读
打赏
这篇文章主要介绍了PHP框架 --ThinkPHP 3.2.2 数据库事务操作的实现,
分析了ThinkPHP中事务的启动、提交、回滚等操作方法并给出了完整的事务提交与回滚操作实例
ThinkPHP手册里的说明 :http://doc.thinkphp.cn/manual/trans_support.html
ThinkPHP提供了单数据库的事务支持,如果要在应用逻辑中使用事务,可以参考下面的方法:
启动事务:
$User->startTrans()
提交事务:
$User->commit()
事务回滚:
$User->rollback()
事务是针对数据库本身的,所以可以跨模型操作的 。
例如:
$u = M('user');
$u1 = M('user_in');
// 在user模型中启动事务
$u->startTrans();
// 进行相关的业务逻辑操作
$map['id'] = 1;
$res = $u->where($map)->delete();
$res1 = $u1->delete();
if($res && $res1){
// 提交事务,上面的数据库操作生效
$u->commit();
}else{
// 事务回滚
$u->rollback();
}
另一个例子:
public function index()
{
$all['name'] = 'php';
M()->startTrans();
$re = M('learn')->add($all);
$re1 = $re2 = true;
if (!empty($re)) {
$level['level'] = '12';
$re1 = M('level')->add($level);
$level['level'] = '101';
$re2 = M('user')->where("id='1'")->save($level);
}
if (!empty($re) && !empty($re1) && !empty($re2)) {
M()->commit();
//$this->success('提交事务',__ROOT__);
echo '提交事务';
} else {
M()->rollback();
//$this->error('事务回滚',__ROOT__);
echo '事务回滚';
}
}
以上就是PHP框架 --ThinkPHP 3.2.2 数据库事务操作的实现的全部内容,希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
相关推荐
深度学习 -- 损失函数
深度残差网络(Deep Residual Networks (ResNets))
深度学习 -- 激活函数
神经网络训练 -- 调整学习速率
生成对抗网络(GAN)改进与发展
生成对抗网络(GAN)优点与缺点
生成对抗网络(GAN)的训练
生成对抗网络(GAN)基本原理
生成模型与判别模型