thinkPHP事务操作简单案例分析
更新时间:2019年10月17日 10:40:12 作者:阿朗999
这篇文章主要介绍了thinkPHP事务操作,结合简单案例形式分析了thinkPHP事务操作的基本原理与使用方法,需要的朋友可以参考下
本文实例讲述了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程序设计有所帮助。
相关文章
CI框架中$this->load->library()用法分析
这篇文章主要介绍了CI框架中$this->load->library()用法,详细分析了加载library方法的步骤与相关注意事项,需要的朋友可以参考下2016-05-05laravel5.1 ajax post 传值_token示例
今天小编就为大家分享一篇laravel5.1 ajax post 传值_token示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-10-10phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
这篇文章主要介绍了phpcms的验证码替换 及 phpcms实现全站搜索功能,需要的朋友可以参考下2017-12-12修改Laravel自带的认证系统的User类的命名空间的步骤
今天小编就为大家分享一篇修改Laravel自带的认证系统的User类的命名空间的步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-10-10
最新评论