一对多关联从一张表中获取数据
我是 Golang 和 Gorm 的新手,我找不到答案。在 REST API 中,我希望我的 json 带有来自一个表关系的值。
type Product struct {
gorm.Model
Name string
Description string
Weight string
TypeID uint
}
type Type struct {
ID string `gorm:"primaryKey;"`
Name string
Product []Product
}
我希望我的产品 json 带有类型中的 ID 和名称。 但这行不通。
var product Product
id:=1
db.Preload("Type").First(&product, id)
我必须在结构中做这样的事情吗?
type Product struct {
gorm.Model
Name string
Description string
Weight string
Type Type
}
I'm new to Golang and Gorm, and I couldn't find the anwswer. In a rest api, I want my json to come with values from the one table relation.
type Product struct {
gorm.Model
Name string
Description string
Weight string
TypeID uint
}
type Type struct {
ID string `gorm:"primaryKey;"`
Name string
Product []Product
}
and I want my Product json to come with the ID and Name from Type.
but this doesn't work.
var product Product
id:=1
db.Preload("Type").First(&product, id)
Do I have to do something like this in the struct?
type Product struct {
gorm.Model
Name string
Description string
Weight string
Type Type
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果要将
Type.ID
和Type.Name
加载到Product.ID
和Product.Name
中,您需要专门从两个表中选择字段:如果要将
Type
字段分离到Product
结构中的单独字段中,则需要进行以下更改:这里,所有
Type
字段将被加载到Product.Type
字段。If you want to load
Type.ID
andType.Name
intoProduct.ID
andProduct.Name
, you need to specifically select fields from two tables:If you want to separate
Type
fields into a separate field in theProduct
struct, you need to make the following changes:Here, all of the
Type
fields will be loaded into theProduct.Type
field.