I was trying to make a function that can update user by given parameter.
My Method:
func UpdateMultiple(db *gorm.DB, user *User, id uint32) error {
usr := User{}
err := db.Debug().Model(User{}).Where("id = ?", id).Updates(map[string]interface{}{"email": user.Email, "is_active": false}).Take(&usr).Error
if err != nil {
return err
}
return nil
}
And Using like this:
Updater := &User{
Email: holder.Email,
IsActive: false,
}
err = UpdateMultiple(s.DB, Updater, id)
It is working fine for now.But If want to update another field i have to change my UpdateMultiple() method. Is there any other way i can update without changing method but only changing given parameters value?