ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

beego orm 操作返回友好提示信息

2021-06-08 12:00:37  阅读:764  来源: 互联网

标签:返回 beego err error orm 提示信息 Error


beego orm 操作返回友好提示信息

在使用beego orm进行insert的时候默认是返回error,但是这个error就是数据库直接返回的错误(就像我们直接在命令行操作数据库返回的信息是一样的)类似下面图2

bee命令自动生成的添加数据函数

// AddFaBroker insert a new FaBroker into database and returns
// last inserted Id on success.
func AddFaBroker(m *FaBroker) (id int64, err error) {
	o := orm.NewOrm()
	id, err = o.Insert(m)
	return
}

调用添加函数后返回的err.Error()数据

"Error 1062: Duplicate entry '153' for key 'phone'"

这样的信息不能直接返回到客户端,需要我们自己处理一下,但是beego orm 的error不像gorm一样,错误有类似ErrRecordNotFound这样的方法可以进行判断,只能自己进行判断;

下面是创建的函数,主要是通过返回的错误代码进行判断;

//数据库错误友好提示
func FriendlySqlErr(e error, field string) (err error) {
	if strings.Index(e.Error(), "Error 1062") > -1 {
		err = errors.New(field + "重复,请更换" + field + "后重试")
	}
	//。。。其他错误
	return
}

调用

func (this *BrokerService) Register(tmp models.FaBroker) (broker *models.FaBroker, err error) {
	if _, err := models.AddFaBroker(&tmp); err != nil {
		return nil, utils.FriendlySqlErr(err,"手机号")//这里调用返回友好信息提示
	}
	broker = &tmp
	return broker, err
}

返回err.Error()

"手机号重复,请更换手机号后重试"

初学golang,文中如有不足之处请提出,我会尽快修改

标签:返回,beego,err,error,orm,提示信息,Error
来源: https://blog.csdn.net/smile14174/article/details/117695189

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有