change to initializing in var group
This commit is contained in:
parent
2866dcf860
commit
27235be199
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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 {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user