当前位置:首页 > CMS教程 > Thinkphp > 列表

thinkPHP事务操作简单案例分析

发布:smiling 来源: PHP粉丝网  添加日期:2022-01-08 15:41:54 浏览: 评论:0 

这篇文章主要介绍了thinkPHP事务操作,结合简单案例形式分析了thinkPHP事务操作的基本原理与使用方法,需要的朋友可以参考下。

本文实例讲述了thinkPHP事务操作,分享给大家供大家参考,具体如下:

1.说明

  1. Db::startTrans(); 
  2. try{ 
  3.   操作; 
  4.   对象->save(); 
  5.   Db::commit(); 
  6. catch (Exception $ex) { 
  7.   Db::rollback(); 
  8.   throw $ex

2.案例

  1. private function createOrderByTrans($snap
  2.     Db::startTrans(); 
  3.     try { 
  4.       $orderNo = $this->makeOrderNo(); 
  5.       $order = new OrderModel(); 
  6.       $order->user_id = $this->uid; 
  7.       $order->order_no = $orderNo
  8.       $order->total_price = $snap['orderPrice']; 
  9.       $order->total_count = $snap['totalCount']; 
  10.       $order->snap_img = $snap['snapImg']; 
  11.       $order->snap_name = $snap['snapName']; 
  12.       $order->snap_address = $snap['snapAddress']; 
  13.       $order->snap_items = json_encode($snap['pStatus']); 
  14.       $order->save(); 
  15.       $orderID = $order->id; 
  16.       $create_time = $order->create_time; 
  17.       foreach ($this->oProducts as &$p) { 
  18.         $p['order_id'] = $orderID
  19.       } 
  20.       $orderProduct = new OrderProduct(); 
  21.       $orderProduct->saveAll($this->oProducts); 
  22.       Db::commit(); 
  23.       return [ 
  24.         'order_no' => $orderNo
  25.         'order_id' => $orderID
  26.         'create_time' => $create_time 
  27.       ]; 
  28.     } catch (Exception $ex) { 
  29.       Db::rollback(); 
  30.       throw $ex
  31.     } 
  32. }

Tags: thinkPHP事务操作

分享到: