Gorm 的黑魔法
小伙看到同事写的Gorm黑魔法,逐渐不淡定了。
开发过程中,看到同事的代码写了这么一段:
db = db.Session(&gorm.Session{Context: db.Statement.Context}).FirstOrCreate(&entity)
if db.Error !=nil{
return components.ErrorDbInsert.WrapPrintf(db.Error, "Insert error, entity:%s", utils.ToJson(entity))
}
if db.RowsAffected == 0 {
return components.ErrorAlreadyExist
}