微前端架构如何改变企业的开发模式与效率提升
869
2022-10-29
tp5/tp6 完整事务/异常例子(数据)分布式/单库/多库
1、操作数据库的[单库]
// 启动事务Db::startTrans();try { throw new \Exception('插入数据失败!'); $code=200;$msg="成功"; // 提交事务 Db::commit();} catch (\Exception $e) { // 回滚事务 Db::rollback(); $code=-200; $msg=$e->getMessage();}return array('code'=>$code,'msg'=>$msg);
事务里边不能用db()数据库助手
2、操作数据库的[多个数据库](分布式)
// 启动事务Db::connect('mysql')->startTrans();try { throw new \Exception('插入数据失败!'); $code=200;$msg="成功"; // 提交事务 Db::connect('mysql')->commit();} catch (\Exception $e) { // 回滚事务 Db::connect('mysql')->rollback(); $code=-200; $msg=$e->getMessage();}return array('code'=>$code,'msg'=>$msg);
注意:
Db::connect('mysql')->startTrans();
mysql名称是根据数据库配置文件(config/database.php)来的
3、异常操作
TP6 一定要引用 use think\facade\Env;
try { //主体 } catch (\Exception $e) { // 这是进行异常捕获 return ['code'=>-200,'msg'=>$e->getMessage()]; } return json(['code' => $code,'msg' =>$msg]);
public function UserLogin($username,$password) { try { if(empty($username) || empty($password)){ throw new \Exception("用户名/密码为空!"); } $code=200;$msg='成功'; } catch (\Exception $e) { // 这是进行异常捕获 $code=-200;$msg=$e->getMessage(); } return ['code' => $code,'msg' =>$msg]; }
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~