<?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中文网其它相关文章!