Optimize: code logic db.scanIntoStruct()

This commit is contained in:
demoManito 2022-08-23 16:12:27 +08:00
parent 8c3018b96a
commit f940a55f5c

View File

@ -66,9 +66,12 @@ func (db *DB) scanIntoStruct(rows Rows, reflectValue reflect.Value, values []int
db.RowsAffected++
db.AddError(rows.Scan(values...))
joinedSchemaMap := make(map[*schema.Field]interface{}, 0)
joinedSchemaMap := make(map[*schema.Field]interface{})
for idx, field := range fields {
if field != nil {
if field == nil {
continue
}
if len(joinFields) == 0 || joinFields[idx][0] == nil {
db.AddError(field.Set(db.Statement.Context, reflectValue, values[idx]))
} else {
@ -90,7 +93,6 @@ func (db *DB) scanIntoStruct(rows Rows, reflectValue reflect.Value, values []int
// release data to pool
field.NewValuePool.Put(values[idx])
}
}
}
// ScanMode scan data mode