這篇文章要跟大家介紹的內容是關於CI架構下開啟事務的程式碼分析,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
<?php // 开启事务,CI框架 $this->Systems_model->base_connect(); $this->Systems_model->db->initialize(); $this->Systems_model->db->trans_begin(); try { $rs = $this->Systems_model->Update($data, $condition, 'user', false); if (!$rs) { throw new Exception("用户信息修改失败"); } if ($rs) { // 删除用户角色中间表中的对应ID数据 重新插入 $delRes = $this->Systems_model->delete_user_role($id); if ($delRes) { foreach ($roles as $k => $v) { $roleData['iUserID'] = $id; $roleData['sRoleID'] = $v; $res = $this->Systems_model->Save($act, $roleData, 'user_role', false); } } else { throw new Exception("改变原有的角色失败"); } if ($res) { if ($this->Systems_model->db->trans_status() === FALSE) { $this->Systems_model->db->trans_rollback(); } else { $this->Systems_model->db->trans_commit(); } getPower(true);// 修改成功后会更新登录者的用户权限 $this->Systems_model->base_close(); outPrintApiJson(0, '修改成功'); } else { throw new Exception("修改角色失败"); } } } catch (Exception $e) { $this->Systems_model->db->trans_rollback(); $this->Systems_model->base_close(); $msg = $e->getMessage(); outPrintApiJson(1, $msg); exit; }
相關文章推薦:
以上是CI框架下開啟交易的程式碼分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!