已删除的用户再次删除还是显示删除成功?

来源:3-8 数据库CRUD操作(下)

大叔你好嫩

2020-07-09

代码如下

//删除用户
func Delete(id int) error {
	var (
		user User
		err  error
	)
	o := orm.NewOrm()
	user = User{Id: id}
	_, err = o.Delete(&user)
	return err
}

//删除用户
// @router /user/delete [get]
func (c *DemoController) Delete() {
	var (
		id    int
		err   error
		title string
	)
	id, err = c.GetInt("id")
	err = models.Delete(id)
	if err == nil {
		title = "恭喜,您成功的把自己删除了"
	} else {
		title = "抱歉,服务器怎么又走丢了"
	}
	c.Ctx.WriteString(title)
}

代码和老师的是一样的,为啥第一次请求delete接口数据已经删除了,后面不管请求几次还是显示“恭喜,您成功的把自己删除了” ,也就是请求一个不存在的id的时候还是显示删除成功,不会报错,走不到else的分支,请问老师,这是为啥?

写回答

1回答

下雨le

2020-07-09

这种情况是上面的orm操作在没有这条数据的情况下,也没有报错。要想实现你说的效果,需要在删除之前先获取一下这条数据是否存在,假如不存在提示删除的内容不存在就行了

0
1
大叔你好嫩
但是老师的视频里没有这个问题啊,代码是一样的,奇怪了~
2020-07-09
共1条回复

从1到N实战Go改造PHP 慕优酷 视频网站

仿大厂千万级视频项目;Go+PHP一箭双雕

346 学习 · 142 问题

查看课程