diff options
Diffstat (limited to 'vendor/github.com/uptrace/bun/schema/table.go')
| -rw-r--r-- | vendor/github.com/uptrace/bun/schema/table.go | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/vendor/github.com/uptrace/bun/schema/table.go b/vendor/github.com/uptrace/bun/schema/table.go index cf9f49197..93313597b 100644 --- a/vendor/github.com/uptrace/bun/schema/table.go +++ b/vendor/github.com/uptrace/bun/schema/table.go @@ -171,7 +171,7 @@ func (t *Table) processFields(typ reflect.Type) { if _, ok := ebdStructs[k]; !ok { ebdStructs[k] = &structField{ Index: makeIndex(sf.Index, v.Index), - Table: subtable, + Table: v.Table, } } } @@ -259,13 +259,13 @@ func (t *Table) processFields(typ reflect.Type) { } for _, embfield := range embedded { - subfield := embfield.subfield.Clone() - - if ambiguousNames[subfield.Name] > 1 && - !(!subfield.Tag.IsZero() && ambiguousTags[subfield.Name] == 1) { + if ambiguousNames[embfield.prefix+embfield.subfield.Name] > 1 && + !(!embfield.subfield.Tag.IsZero() && ambiguousTags[embfield.prefix+embfield.subfield.Name] == 1) { continue // ambiguous embedded field } + subfield := embfield.subfield.Clone() + subfield.Index = makeIndex(embfield.index, subfield.Index) if embfield.prefix != "" { subfield.Name = embfield.prefix + subfield.Name |
