123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <?php
- // +----------------------------------------------------------------------
- // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
- // +----------------------------------------------------------------------
- // | Author: CRMEB Team <admin@crmeb.com>
- // +----------------------------------------------------------------------
- namespace basic;
- use think\Db;
- use think\Model;
- class ModelBasic extends Model
- {
- private static $errorMsg;
- private static $transaction = 0;
- private static $DbInstance = [];
- const DEFAULT_ERROR_MSG = '操作失败,请稍候再试!';
- protected static function getDb($name,$update = false)
- {
- if(isset(self::$DbInstance[$name]) && $update == false)
- return self::$DbInstance[$name];
- else
- return self::$DbInstance[$name] = Db::name($name);
- }
- /**
- * 设置错误信息
- * @param string $errorMsg
- * @return bool
- */
- protected static function setErrorInfo($errorMsg = self::DEFAULT_ERROR_MSG,$rollback = false)
- {
- if($rollback) self::rollbackTrans();
- self::$errorMsg = $errorMsg;
- return false;
- }
- /**
- * 获取错误信息
- * @param string $defaultMsg
- * @return string
- */
- public static function getErrorInfo($defaultMsg = self::DEFAULT_ERROR_MSG)
- {
- return !empty(self::$errorMsg) ? self::$errorMsg : $defaultMsg;
- }
- /**
- * 开启事务
- */
- public static function beginTrans()
- {
- Db::startTrans();
- }
- /**
- * 提交事务
- */
- public static function commitTrans()
- {
- Db::commit();
- }
- /**
- * 关闭事务
- */
- public static function rollbackTrans()
- {
- Db::rollback();
- }
- /**
- * 根据结果提交滚回事务
- * @param $res
- */
- public static function checkTrans($res)
- {
- if($res){
- self::commitTrans();
- }else{
- self::rollbackTrans();
- }
- }
- /**
- * 根據模型修改
- */
- public static function saveFieldByWhere(array $where, array $data)
- {
- if (!$where || !$data) return false;
- return self::where($where)->update($data);
- }
- }
|