评论

收藏

[PHP] thinkPHP事务操作简单案例分析

开发技术 开发技术 发布于:2021-11-08 14:21 | 阅读数:207 | 评论:0

这篇文章主要介绍了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框架的PHP程序设计有所帮助。
原文链接:https://blog.csdn.net/fujian9544/article/details/94597040

关注下面的标签,发现更多相似文章