diff --git a/callbacks/associations.go b/callbacks/associations.go index d6fd21de..dbaccd66 100644 --- a/callbacks/associations.go +++ b/callbacks/associations.go @@ -348,6 +348,10 @@ func saveAssociations(db *gorm.DB, rel *schema.Relationship, values interface{}, refName = rel.Name + "." ) + if _, ok := selectColumns[rel.Name+".*"]; ok { + return nil + } + for name, ok := range selectColumns { columnName := "" if strings.HasPrefix(name, refName) { diff --git a/statement.go b/statement.go index 681d255c..cb471776 100644 --- a/statement.go +++ b/statement.go @@ -674,7 +674,6 @@ func (stmt *Statement) SelectAndOmitColumns(requireCreate, requireUpdate bool) ( // omit columns for _, omit := range stmt.Omits { - omit = strings.TrimSuffix(omit, ".*") if stmt.Schema == nil { results[omit] = false } else if omit == "*" {