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) 版权声明: ...
随机推荐
- 初识hadoop-历史及其家族(日志一)
1,书籍推荐: 2,Google技术带来的东西: 下一篇:JDK的安装级其中遇到的问题
- Java中处理二进制移位
我相信,这篇文章读起来会相当有趣. 文章中编程语言是Java,用Java的原因:第一,Java不做数据溢出校验,这样我们可以忽略溢出异常:第二,Java普及率比较高,就像是python或shell,几 ...
- Linux系统档案与文件系统的压缩与打包
以下文章基于centos6.5 文章引自:http://www.jb51.net/LINUXjishu/105916.html 一.Linux下常见的压缩指令 在linux的环境中,压缩文件的扩展名大 ...
- 微信公众号开发《三》微信JS-SDK之地理位置的获取,集成百度地图实现在线地图搜索
本次讲解微信开发第三篇:获取用户地址位置信息,是非常常用的功能,特别是服务行业公众号,尤为需要该功能,本次讲解的就是如何调用微信JS-SDK接口,获取用户位置信息,并结合百度地铁,实现在线地图搜索,与 ...
- Source Insignt注册码
分享一下google来的 呵呵 Source Insight,一个无比强大的工具.一个很好的查看代码的工具.到它的官网上去看一下,就知道,世界上基本上所有的大的软件公司,都在用这个工具.习惯了这个工具 ...
- 解决ssh或ftp下root用户认证失败问题
问题:当连接ssh远程终端或使用ftp方式进行文件传输时,使用普通用户可以进行远程登录,但使用root用户则认证失败,提示密码错误.而我们在普通用户登录下,su - root,验证密码,是可以正常切换 ...
- 回归-LDA与QDA
作者:桂. 时间:2017-05-23 06:37:31 链接:http://www.cnblogs.com/xingshansi/p/6892317.html 前言 仍然是python库函数sci ...
- 阿里云服务器:IIS网站的架设(一、环境设置与安装IIS网站 二、网站的基本设置 三、建立新网站(未完待续))
Windows Server 2012 R2的Internet Information Services (IIS)网站的模块化设计,可以减少被攻击面并减轻管理负担,让系统管理员更容易架设安全的具备高 ...
- Local模式下Spark程序只输出关键信息
使用spark-submit提交local任务时,会输出很多Info信息: ------------------------------------------- Time: ms --------- ...
- Notification的基本用法以及使用RemoteView实现自定义布局
Notification的作用 Notification是一种全局效果的通知,在系统的通知栏中显示.既然作为通知,其基本作用有: 显示接收到短消息.即时信息等 显示客户端的推送(广告.优惠.新闻等) ...