gormt icon indicating copy to clipboard operation
gormt copied to clipboard

使用GetFrom....之类的函数进行查找时,怎么判断是否存在

Open jiang4869 opened this issue 4 years ago • 2 comments

例如调用这个方法进行查询的时候,如果判断找的数据是否存在。使用Find查找的时候,如果没有数据存在,会填入默认值,并且err也为nil。 是否应该把结果的RowsAffected 也一起返回,通过这个来判断是否找到数据

func (obj *_AdminMgr) GetFromID(id uint) (result Admin, err error) {
	err = obj.DB.WithContext(obj.ctx).Model(Admin{}).Where("`id` = ?", id).Find(&result).Error

	return
}

jiang4869 avatar Jan 13 '22 08:01 jiang4869

通过id可以判断,

xxjwxc avatar Jan 13 '22 10:01 xxjwxc

... .Model(Admin{}) ...

这里是不是可以直接使用result而不是再去新建一个结构体

func (obj *_AdminMgr) GetFromID(id uint) (result Admin, err error) {
	err = obj.DB.WithContext(obj.ctx).Model(result).Where("`id` = ?", id).Find(&result).Error
	return
}

redbirdztc avatar Jul 15 '22 01:07 redbirdztc