thinkphp中事务操作的实例详解
Admin 2021-05-27 群英技术资讯 835 次浏览
事务指的是访问并可能更新数据库中各种数据项的一个程序执行单元。文本主要给大家介绍的就是thinkPHP中事务操作的相关内容,感兴趣的朋友可以参考参考。
1.说明
Db::startTrans(); try{ 操作; 对象->save(); Db::commit(); } catch (Exception $ex) { Db::rollback(); throw $ex; }
2.案例
private function createOrderByTrans($snap) { Db::startTrans(); try { $orderNo = $this->makeOrderNo(); $order = new OrderModel(); $order->user_id = $this->uid; $order->order_no = $orderNo; $order->total_price = $snap['orderPrice']; $order->total_count = $snap['totalCount']; $order->snap_img = $snap['snapImg']; $order->snap_name = $snap['snapName']; $order->snap_address = $snap['snapAddress']; $order->snap_items = json_encode($snap['pStatus']); $order->save(); $orderID = $order->id; $create_time = $order->create_time; foreach ($this->oProducts as &$p) { $p['order_id'] = $orderID; } $orderProduct = new OrderProduct(); $orderProduct->saveAll($this->oProducts); Db::commit(); return [ 'order_no' => $orderNo, 'order_id' => $orderID, 'create_time' => $create_time ]; } catch (Exception $ex) { Db::rollback(); throw $ex; } }
关于thinkphp事务操作的内容就分享到这里了,希望以上内容可以对大家有一定的帮助,能有所收获。如果还想要了解更多thinkphp事务操作的内容,大家可以关注其他相关文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
dockerphp容器没有安装pdo扩展,导致运行时报错,couldnotfinddriver需要做两个步骤:第一:将php.ini中的扩展打开 第二步:在php容器中安装pdo和pdo_mysql扩展1)dockerexec-itphp-fpm/bin/bash2)个人习惯,进入/usr/src扩展目录3)docker-php-ext-installpdo
Workerman是一款开源高性能异步PHP socket即时通讯框架。本文就来为大家介绍一些Workerman的特性,希望都大家有一定的帮助。
这篇文章主要介绍了laravel框架创建授权策略,结合实例形式分析了laravel框架创建授权策略的相关步骤、实现方法与操作注意事项,需要的朋友可以参考下
几种php删除数组元素方法在很多情况下我们的数组会出现重复情况,那我们删除数组中一些重复的内容怎么办,这些元素我必须保持他唯一,所以就想办法来删除它们,下面利用...
这篇文章给大家分享的是有关php复选框的内容,对于复选框checkbox,我们比较常见的应用就是php表单提交,那么我们是如何判断复选框中的值是否被选中的呢?下面就给大家分享一下php复选框的实现。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008