thinkPHP事务操作简单案例分析
本文实例讲述了thinkPHP事务操作。分享给大家供大家参考,具体如下:
1.说明
Db::startTrans(); try{ 操作; 对象->save(); Db::commit(); } catch(Exception$ex){ Db::rollback(); throw$ex; }
2.案例
privatefunctioncreateOrderByTrans($snap) { Db::startTrans(); try{ $orderNo=$this->makeOrderNo(); $order=newOrderModel(); $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->oProductsas&$p){ $p['order_id']=$orderID; } $orderProduct=newOrderProduct(); $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)框架进阶教程》、《ZendFrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。