thinkphp中try catch的运用
public function doedit_set(){ $info=$this->_post("info"); $id=$this->_post("id");//dump($info);exit(); $user=DD("Order.OrderPackage")->deal_account($info['accounts']); try{ $result=DD('Set.UserSet')->doedit_setinfo($id,$info,$user); if($result){ $this->success("编辑成功",U("Userset/index")); } $this->error("编辑失败"); }catch(Exception $e){ $this->error($e->getMessage()); } } public function doedit_setinfo($id,$edit_info,$user_id) { if($id && $edit_info) { $res=M('user_set')->where(array('op_name'=>$edit_info['op_name'],'id'=>$id))->find(); if(!$res) { E("非法数据"); } $md=new Model(); $md->startTrans(); $user_info=DD("User.AdminUser")->get_info(); $edit_info['start_time']=strtotime($edit_info['time1']); $edit_info['end_time']=strtotime($edit_info['time2']); foreach ($user_id as $key => $value) { $op=M('user_set')->where(array('op_name'=>$edit_info['op_name'],'uid'=>$value))->find(); if($op['id']!=$id && $op ) { E("此用户配置已存在"); } if(M('user_set')->where('uid=%d',$value)->find()) { $edit_info['uid']=$value; $result=M('user_set')->where("id=%d",$id)->save($edit_info); $content="id:".$id."修改前的|op_name:".$res['op_name']."|op_value:".$res['op_value']."|op_des:".$res['op_des']."|start_time:".$res['start_time']."|end_time:".$res['end_time']."|is_del:".$res['is_del']."|uid:".$res['uid']."|修改后:op_name".$edit_info['op_name']."|op_value".$edit_info['op_value']."|op_des:".$edit_info['op_des']."|start_time:".$edit_info['start_time']."|end_time:".$edit_info['end_time']."|uid:".$value; $type="修改"; $obj="用户配置"; $log_result=DD("Logs.UserOp")->handle_logs($user_info['userId'],$user_info['account'] ,$content,$type,$obj); } else { $edit_info['uid']=$value; $result=M('user_set')->add($edit_info); $content="新增用户配置|id:".$result."|op_name:".$edit_info['op_name']."|op_value:".$edit_info['op_value']."|op_des:".$edit_info['op_des']."|start_time:".$edit_info['start_time']."|end_time:".$edit_info['end_time']."|uid:".$edit_info['uid']."|is_del:".$edit_info['is_del']; $type="新增"; $obj="用户配置"; $log_result=DD("Logs.UserOp")->handle_logs($user_info['userId'],$user_info['account'] ,$content,$type,$obj); } } if($result!==false && $log_result ) { $md->commit(); return true; } else { $md->rollback(); return false; } } else { E("参数错误"); } }
thinkphp中try catch的运用的更多相关文章
- ThinkPHP中RBAC权限带菜单栏显示和详细权限操作
RBAC是什么,能解决什么难题? RBAC是Role-Based Access Control的首字母,译成中文即基于角色的权限访问控制,说白了也就是用户通过角色与权限进行关联[其架构灵感来源于操作系 ...
- thinkphp中导入和使用阿里云OSSsdk
照做绝对行,在ThinkPHP中,第三方库都放在ThinkPHP/Library/Vendor/路径下. 1.下载OSS PHP SDK:https://help.aliyun.com/documen ...
- [转]ThinkPHP中实例化对象M()和D()的区别,select和find的区别
1.ThinkPHP中实例化对象M()和D()的区别 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会 ...
- 【转】Java中try catch finally语句中含有return语句的执行情况(总结版)
Java中try catch finally语句中含有return语句的执行情况(总结版) 有一点可以肯定,finally块中的内容会先于try中的return语句执行,如果finall语句块中也有r ...
- ThinkPHP中疑难笔记
不但要记住核心的东西, 还要记住 相关的 东西: 如php cli的版本是 5.6.14 bulit: sep 30, 2015 tp中, 通常说的系统就是框架; 项目就是 "应用程序&qu ...
- thinkphp中的setInc、setDec方法
thinkphp中setInc.setDec方法 可用于统计字段(通常是数字类型的字段)的更新,例如积分,等级,登陆次数等 必须配合连贯操作where一起使用 $User = M("User ...
- ThinkPHP中关于JS文件如何添加类似__PUBLIC__图片路径
在对html样式进行优化的时候,经常会用到Js/jquery进行一些跳转切换的样式,而我们常做的就是在Js/jquery代码中嵌url图片链接代码,以实现动态交互的页面效果. 如下图所示:
- ThinkPHP中initialize和construct的不同
ThinkPHP中initialize()和construct()这两个函数都可以理解为构造函数,前面一个是tp框架独有的,后面的是php构造函数,那么这两个有什么不同呢? 在网上搜索,很多答案是两者 ...
- c++中try catch的用法
c++中try catch的用法 标签: c++exception数据库sqlc 2011-10-24 21:49 45622人阅读 评论(3) 收藏 举报 分类: 一点小结(267) 版权声明: ...
随机推荐
- hdu2709 Sumsets 递推
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2709 感觉很经典的一道递推题 自己想了有半天的时间了....比较弱.... 思路: 设f[n]表示和为 ...
- Oracle 12C 新特性之非分区表转分区表online clause(不停业务+索引有效)
12c以前非分区表需要转换为分区, 如果不停业务的话可以使用在线重定义,只有在表进行切换的时候会有短暂的锁表. 12c 中alter table online clause 实现了表上现有的索引有效, ...
- Linux:PS命令详解与使用
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,ps命令就是最基本进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵尸.哪些进程占 ...
- Hibernate 核心接口和工作机制
主要内容 Configuration类 sessionFactory接口 session接口 Transaction接口 Query 和 criteria接口 1.Configuration类 负责管 ...
- linux下安装一款笔记软件(为知笔记)
今天突然想在ubuntu上安装一款跨平台(windows.linux.android)的笔记软件来做日常记录.文章记录以及网页收藏.原先并没有使用过类似的软件,只是见身边的很多人在使用印象笔记来做记录 ...
- OpenCV探索之路(十):图像修复技术
在实际应用中,我们的图像常常会被噪声腐蚀,这些噪声或是镜头上的灰尘或水滴,或是旧照片的划痕,或者是图像遭到人为的涂画(比如马赛克)或者图像的部分本身已经损坏.如果我们想让这些受到破坏的额图片尽可能恢复 ...
- Linux Set Command
1. set -e "Exit immediately if a simple command exits with a non-zero status." When this o ...
- iOS textfield 限制输入字数长度
iOS textfield限制输入的最大长度 [self.textFiled addTarget:self action:@selector(textFieldDidChange:) forContr ...
- javaWeb学习总结(8)- JSP标签(6)
一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 ...
- javaWeb学习总结(10)- EL表达式
一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...