change to initializing in var group

This commit is contained in:
sivchari 2021-02-19 11:52:53 +09:00
parent 2866dcf860
commit 27235be199
3 changed files with 13 additions and 11 deletions

View File

@ -39,10 +39,10 @@ func SaveBeforeAssociations(create bool) func(db *gorm.DB) {
switch db.Statement.ReflectValue.Kind() { switch db.Statement.ReflectValue.Kind() {
case reflect.Slice, reflect.Array: case reflect.Slice, reflect.Array:
var ( var (
objs = make([]reflect.Value, 0, db.Statement.ReflectValue.Len())
fieldType = rel.Field.FieldType fieldType = rel.Field.FieldType
isPtr = fieldType.Kind() == reflect.Ptr isPtr = fieldType.Kind() == reflect.Ptr
) )
objs := make([]reflect.Value, 0, db.Statement.ReflectValue.Len())
if !isPtr { if !isPtr {
fieldType = reflect.PtrTo(fieldType) fieldType = reflect.PtrTo(fieldType)

View File

@ -69,15 +69,14 @@ func DeleteBeforeAssociations(db *gorm.DB) {
} }
case schema.Many2Many: case schema.Many2Many:
var ( var (
modelValue = reflect.New(rel.JoinTable.ModelType).Interface() queryConds = make([]clause.Expression, 0, len(rel.References))
table = rel.JoinTable.Table foreignFields = make([]*schema.Field, 0, len(rel.References))
tx = db.Session(&gorm.Session{NewDB: true}).Model(modelValue).Table(table) relForeignKeys = make([]string, 0, len(rel.References))
modelValue = reflect.New(rel.JoinTable.ModelType).Interface()
table = rel.JoinTable.Table
tx = db.Session(&gorm.Session{NewDB: true}).Model(modelValue).Table(table)
) )
queryConds := make([]clause.Expression, 0, len(rel.References))
foreignFields := make([]*schema.Field, 0, len(rel.References))
relForeignKeys := make([]string, 0, len(rel.References))
for _, ref := range rel.References { for _, ref := range rel.References {
if ref.OwnPrimaryKey { if ref.OwnPrimaryKey {
foreignFields = append(foreignFields, ref.PrimaryKey) foreignFields = append(foreignFields, ref.PrimaryKey)

View File

@ -27,9 +27,12 @@ func preload(db *gorm.DB, rel *schema.Relationship, conds []interface{}, preload
}) })
if rel.JoinTable != nil { if rel.JoinTable != nil {
joinForeignFields := make([]*schema.Field, 0, len(rel.References))
joinRelForeignFields := make([]*schema.Field, 0, len(rel.References)) var (
joinForeignKeys := make([]string, 0, len(rel.References)) joinForeignFields = make([]*schema.Field, 0, len(rel.References))
joinRelForeignFields = make([]*schema.Field, 0, len(rel.References))
joinForeignKeys = make([]string, 0, len(rel.References))
)
for _, ref := range rel.References { for _, ref := range rel.References {
if ref.OwnPrimaryKey { if ref.OwnPrimaryKey {