commit
						04e57577c6
					
				@ -17,7 +17,7 @@ The fantastic ORM library for Golang, aims to be developer friendly.
 | 
			
		||||
* Hooks (Before/After Create/Save/Update/Delete/Find)
 | 
			
		||||
* Eager loading with `Preload`, `Joins`
 | 
			
		||||
* Transactions, Nested Transactions, Save Point, RollbackTo to Saved Point
 | 
			
		||||
* Context, Prepared Statment Mode, DryRun Mode
 | 
			
		||||
* Context, Prepared Statement Mode, DryRun Mode
 | 
			
		||||
* Batch Insert, FindInBatches, Find To Map
 | 
			
		||||
* SQL Builder, Upsert, Locking, Optimizer/Index/Comment Hints, NamedArg, Search/Update/Create with SQL Expr
 | 
			
		||||
* Composite Primary Key
 | 
			
		||||
 | 
			
		||||
@ -385,7 +385,9 @@ func (association *Association) saveAssociation(clear bool, values ...interface{
 | 
			
		||||
	for name, ok := range selectColumns {
 | 
			
		||||
		columnName := ""
 | 
			
		||||
		if strings.HasPrefix(name, association.Relationship.Name) {
 | 
			
		||||
			columnName = strings.TrimPrefix(name, association.Relationship.Name)
 | 
			
		||||
			if columnName = strings.TrimPrefix(name, association.Relationship.Name); columnName == ".*" {
 | 
			
		||||
				columnName = name
 | 
			
		||||
			}
 | 
			
		||||
		} else if strings.HasPrefix(name, clause.Associations) {
 | 
			
		||||
			columnName = name
 | 
			
		||||
		}
 | 
			
		||||
@ -404,7 +406,15 @@ func (association *Association) saveAssociation(clear bool, values ...interface{
 | 
			
		||||
			selectedSaveColumns = append(selectedSaveColumns, ref.ForeignKey.Name)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	associationDB := association.DB.Session(&Session{}).Model(nil).Select(selectedSaveColumns).Session(&Session{})
 | 
			
		||||
 | 
			
		||||
	associationDB := association.DB.Session(&Session{}).Model(nil)
 | 
			
		||||
	if !association.DB.FullSaveAssociations {
 | 
			
		||||
		associationDB.Select(selectedSaveColumns)
 | 
			
		||||
	}
 | 
			
		||||
	if len(omitColumns) > 0 {
 | 
			
		||||
		associationDB.Omit(omitColumns...)
 | 
			
		||||
	}
 | 
			
		||||
	associationDB = associationDB.Session(&Session{})
 | 
			
		||||
 | 
			
		||||
	switch reflectValue.Kind() {
 | 
			
		||||
	case reflect.Slice, reflect.Array:
 | 
			
		||||
 | 
			
		||||
@ -172,7 +172,7 @@ func Preload(db *gorm.DB) {
 | 
			
		||||
			if name == clause.Associations {
 | 
			
		||||
				for _, rel := range db.Statement.Schema.Relationships.Relations {
 | 
			
		||||
					if rel.Schema == db.Statement.Schema {
 | 
			
		||||
						preloadMap[rel.Name] = nil
 | 
			
		||||
						preloadMap[rel.Name] = map[string][]interface{}{}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			} else {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user