protocbuffer file: XXX_NoUnkeyedLiteral struct{} json:"-"
db.Find(&Srt) raise error: field XXX_NoUnkeyedLiteral: define a valid foreign key for relations or implement the Valuer/Scanner interface HOW:add filter: field.Tag.Get("json") != "-" WHY:unsupported parsing type: struct{} set guessLevel to guessEmbeddedHas have been commented:schema/relationship.go:381 as follows: reguessOrErr := func() { switch cgl { case guessGuess: schema.guessRelation(relation, field, guessBelongs) case guessBelongs: schema.guessRelation(relation, field, guessEmbeddedBelongs) case guessEmbeddedBelongs: schema.guessRelation(relation, field, guessHas) case guessHas: schema.guessRelation(relation, field, guessEmbeddedHas) // case guessEmbeddedHas: default: schema.err = fmt.Errorf("invalid field found for struct %v's field %s: define a valid foreign key for relations or implement the Valuer/Scanner interface", schema, field.Name) } }
This commit is contained in:
parent
418c60c83c
commit
f3bc7427be
@ -6,6 +6,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/jinzhu/inflection"
|
"github.com/jinzhu/inflection"
|
||||||
|
|
||||||
"gorm.io/gorm/clause"
|
"gorm.io/gorm/clause"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -134,7 +134,7 @@ func Parse(dest interface{}, cacheStore *sync.Map, namer Namer) (*Schema, error)
|
|||||||
if fieldStruct := modelType.Field(i); ast.IsExported(fieldStruct.Name) {
|
if fieldStruct := modelType.Field(i); ast.IsExported(fieldStruct.Name) {
|
||||||
if field := schema.ParseField(fieldStruct); field.EmbeddedSchema != nil {
|
if field := schema.ParseField(fieldStruct); field.EmbeddedSchema != nil {
|
||||||
schema.Fields = append(schema.Fields, field.EmbeddedSchema.Fields...)
|
schema.Fields = append(schema.Fields, field.EmbeddedSchema.Fields...)
|
||||||
} else {
|
} else if field.Tag.Get("json") != "-" {
|
||||||
schema.Fields = append(schema.Fields, field)
|
schema.Fields = append(schema.Fields, field)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user