BaseModel.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace crmeb\basic;
  3. use think\facade\Db;
  4. use think\Model;
  5. class BaseModel extends Model
  6. {
  7. private static $errorMsg;
  8. private static $transaction = 0;
  9. private static $DbInstance = [];
  10. const DEFAULT_ERROR_MSG = '操作失败,请稍候再试!';
  11. /**
  12. * 设置错误信息
  13. * @param string $errorMsg
  14. * @return bool
  15. */
  16. protected static function setErrorInfo($errorMsg = self::DEFAULT_ERROR_MSG, $rollback = false)
  17. {
  18. if ($rollback) self::rollbackTrans();
  19. self::$errorMsg = $errorMsg;
  20. return false;
  21. }
  22. /**
  23. * 获取错误信息
  24. * @param string $defaultMsg
  25. * @return string
  26. */
  27. public static function getErrorInfo($defaultMsg = self::DEFAULT_ERROR_MSG)
  28. {
  29. return !empty(self::$errorMsg) ? self::$errorMsg : $defaultMsg;
  30. }
  31. /**
  32. * 开启事务
  33. */
  34. public static function beginTrans()
  35. {
  36. Db::startTrans();
  37. }
  38. /**
  39. * 提交事务
  40. */
  41. public static function commitTrans()
  42. {
  43. Db::commit();
  44. }
  45. /**
  46. * 关闭事务
  47. */
  48. public static function rollbackTrans()
  49. {
  50. Db::rollback();
  51. }
  52. /**
  53. * 根据结果提交滚回事务
  54. * @param $res
  55. */
  56. public static function checkTrans($res)
  57. {
  58. if ($res) {
  59. self::commitTrans();
  60. } else {
  61. self::rollbackTrans();
  62. }
  63. }
  64. }