登录
首页 >  Golang >  Go问答

在 Gorm 中如何使用预加载连接表中的条件加载多对多关系

来源:stackoverflow

时间:2024-03-05 08:09:22 432浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《在 Gorm 中如何使用预加载连接表中的条件加载多对多关系》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

又是我... 现在对我来说是个大问题,但我很难去思考它 现在我可以在 gorm 中预加载了。但是当使用连接表对多对多表进行预加载时......我有一些我不知道的问题 我有3张桌子

type Product struct{
Categories []Category `gorm:"many2many:Product_Category"`
}
type Category struct{}
type Product_Category struct {}

类似这样的。我现在可以使用 preload("categories").find(&products) 但这里的问题是如何过滤类别的产品? 意味着我需要在预加载类别时在联接表 product_category 中添加条件?有什么解决办法吗?

除此之外,我想知道如何将类别产品添加/更新到 2 个表 product 和 product_category 中?


正确答案


type Product struct{
Product
Categories []Category `gorm:"many2many:product_category;foreignKey:ID;joinForeignKey:ProductID;References:ID;joinReferences:CategoryID"`
}
type Category struct{}
type Product_Category struct {}

这说的是

  • 创建多对多关系,其中 1 个外键是一个模型的 id,引用为“product_id”,其他模型的引用类似。
  • 那么您所需要做的就是预加载类别

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>