开放的编程资料库

当前位置:我爱分享网 > PHP教程 > 正文

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框架的PHP程序设计有所帮助。


您可能感兴趣的文章:

未经允许不得转载:我爱分享网 » thinkPHP事务操作简单案例分析

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏