时间:2021-05-26
本文实例讲述了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入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了ThinkPHP添加更新标签的方法。分享给大家供大家参考。具体分析如下:我们知道,thinkphp的拓展案例blog,只告诉我们怎样去添加标签ta
如下所示:/*事务脚本模式:类似于thinkphp中的model层,或者说就是操作数据库的类。个人觉得实践中使用起来还是挺简单方便的,就是SQL语句写死了的话,
本文实例讲述了thinkPHP5.0框架事务处理操作。分享给大家供大家参考,具体如下:事务的调用在mysql里需要注意下数据库引擎,处理前先查看一下删除方法:p
本节引言:1.SQLite事务简单点说就是:写在事务里的所有数据库操作都成功,事务提交,否则,事务回滚,就是回到前面的状态——未执行数据库操作的时候!另外,前面
本文实例讲述了thinkPHP框架中执行事务的方法。分享给大家供大家参考,具体如下:functiontran(){//定义事务成功失败的标志$mark=true