ThinkPHP5 事务使用方法

本文阅读 1 分钟
首页 Thinkphp笔记 正文
  1. <?php
  2. $success = true; //因为try catch中不能使用success和error返回结果,所以定义一个变量用于判断
  3. /**
  4. * 知道success和error方法是怎么实现的吗?
  5. * 看源码的最后两行
  6. * $response&nbsp;=&nbsp;Response::create($result, $type)-&gt;header($header);
  7. * throw new HttpResponseException($response);
  8. * 没错,是用抛出异常的方式实现的
  9. * 而代码try正好捕获了该异常,所以代码永远只会走catch
  10. */
  11. // 启动事务
  12. Db::startTrans();
  13. try {
  14. $this-&gt;dbName-&gt;insert($input);
  15. $lastId&nbsp;&nbsp;&nbsp;=&nbsp;$this->dbName->getLastInsID();
  16. $relation&nbsp;=&nbsp;Acms::make_relation($lastId, $roleIds, 'uid', 'group_id');
  17. Db::name("AuthRelation")->insertAll($relation);
  18. // 提交事务
  19. Db::commit();
  20. } catch (Exception $e) {
  21. // 回滚事务
  22. Db::rollback();
  23. $success = false;
  24. }
  25. if ($success) {
  26. $this->success("新增管理员成功!");
  27. } else {
  28. $this->error("新增管理员失败!");
  29. }
  30. ?>
解压密码: detechn或detechn.com

免责声明

本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。

本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

PHP curl 访问url
« 上一篇 06-21
CGI、FastCgi与PHP-fpm之间关系
下一篇 » 07-01

发表评论

惪特博客
  • 文章总数:
    18497 篇
  • 评论总数:
    53327 条
  • 标签总数:
    8873 个
  • 总浏览量:
    22760880 次
  • 最后更新:
    3月27日

最多点赞

随便看看

标签TAG