diff --git a/model_struct.go b/model_struct.go index 7d196e6e..adfa776f 100644 --- a/model_struct.go +++ b/model_struct.go @@ -123,18 +123,17 @@ func (scope *Scope) GetModelStruct() *ModelStruct { } scopeType := reflectValue.Type() - if scope.db != nil { - if value, ok := scope.db.parent.ModelStructs[scopeType]; ok { - return value - } else { - scope.db.parent.ModelStructs[scopeType] = &modelStruct - } - } if scopeType.Kind() == reflect.Ptr { scopeType = scopeType.Elem() } + if scope.db != nil { + if value, ok := scope.db.parent.ModelStructs[scopeType]; ok { + return value + } + } + if scopeType.Kind() != reflect.Struct { return &modelStruct } @@ -303,6 +302,10 @@ func (scope *Scope) GetModelStruct() *ModelStruct { } } + if scope.db != nil { + scope.db.parent.ModelStructs[scopeType] = &modelStruct + } + return &modelStruct }