ModelBasic.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace basic;
  12. use think\Db;
  13. use think\Model;
  14. class ModelBasic extends Model
  15. {
  16. private static $errorMsg;
  17. private static $transaction = 0;
  18. private static $DbInstance = [];
  19. const DEFAULT_ERROR_MSG = '操作失败,请稍候再试!';
  20. protected static function getDb($name,$update = false)
  21. {
  22. if(isset(self::$DbInstance[$name]) && $update == false)
  23. return self::$DbInstance[$name];
  24. else
  25. return self::$DbInstance[$name] = Db::name($name);
  26. }
  27. /**
  28. * 设置错误信息
  29. * @param string $errorMsg
  30. * @return bool
  31. */
  32. protected static function setErrorInfo($errorMsg = self::DEFAULT_ERROR_MSG,$rollback = false)
  33. {
  34. if($rollback) self::rollbackTrans();
  35. self::$errorMsg = $errorMsg;
  36. return false;
  37. }
  38. /**
  39. * 获取错误信息
  40. * @param string $defaultMsg
  41. * @return string
  42. */
  43. public static function getErrorInfo($defaultMsg = self::DEFAULT_ERROR_MSG)
  44. {
  45. return !empty(self::$errorMsg) ? self::$errorMsg : $defaultMsg;
  46. }
  47. /**
  48. * 开启事务
  49. */
  50. public static function beginTrans()
  51. {
  52. Db::startTrans();
  53. }
  54. /**
  55. * 提交事务
  56. */
  57. public static function commitTrans()
  58. {
  59. Db::commit();
  60. }
  61. /**
  62. * 关闭事务
  63. */
  64. public static function rollbackTrans()
  65. {
  66. Db::rollback();
  67. }
  68. /**
  69. * 根据结果提交滚回事务
  70. * @param $res
  71. */
  72. public static function checkTrans($res)
  73. {
  74. if($res){
  75. self::commitTrans();
  76. }else{
  77. self::rollbackTrans();
  78. }
  79. }
  80. /**
  81. * 根據模型修改
  82. */
  83. public static function saveFieldByWhere(array $where, array $data)
  84. {
  85. if (!$where || !$data) return false;
  86. return self::where($where)->update($data);
  87. }
  88. }