根据你提供的代码,如果查询为空,则dbutils.GormDB.Model(...).Where(...).Select(...).Find(&vlanId)
的返回结果中的err
将不会为空。当查询结果为空时,GORM 通常会返回一个 record not found
的错误。因此,你可以通过检查err
来确定是否发生了错误。
以下是可能的处理方式:
result := dbutils.GormDB.Model(&model.VlanCfg{}).Where("if = ?", ifName).Select("vlan").Find(&vlanId)
if result.Error != nil {
// 发生了错误
fmt.Println(result.Error)
} else if result.RowsAffected == 0 {
// 没有找到匹配记录
fmt.Println("No records found")
} else {
// 查询成功并且找到了记录
fmt.Println(vlanId)
}
这样可以根据返回结果中的Error
和RowsAffected
属性来判断是否发生了错误或者是否没有找到匹配记录。
内容由零声教学AI助手提供,问题来源于学员提问