注意:数据只要涉及多表一致性操作,必须要开启数据库事务操作
ThinkPHP5 中模型层中使用事务:
try{ $this->startTrans(); $this->data($order_data)->isUpdate(false)->save(); $new_order = $this->order_no; if (!is_numeric($new_order)) throw new Exception("商品订单添加失败"); $this->hasMany('OrdersAccess', 'order_no', 'order_no')->saveAll($data_order); $this->commit(); return ['code' => '1001', 'msg' => '商品订单添加成功', 'data' => ['order_no' => $new_order, 'cart_list' => $data_order]]; }catch (Exception $e){ $this->rollback(); return ['code'=>'1008','msg'=>'商品订单添加失败','data']; }
原文:https://www.kancloud.cn/mikkle/thinkphp5_study/557903