一分耕耘,一分收获!既然都打开这篇
《Go 中 GORM 预加载如何自定义排序和过滤关联数据?》,就坚持看下去,学下去吧!本文主要会给大家讲到
等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新
GOLANG相关的内容,希望对大家都有所帮助!,
,
go 中 gorm 自定义预加载的用法,想要通过预加载查询对象关联数据,而自定义预加载的用法需要使用 func(query *gorm.db) *gorm.db {} 这个匿名函数。在这个回调函数里,可以对关联查询的结果进行控制和操作,比如排序、过滤等。,例如,假设需要查询商品列表,并按照商品 id 降序排序:,在这个预加载回调函数中,query.order(“goods_id desc”) 表示按照商品 id 降序排序关联查询的结果。,案例中遇到的错误,是因为 go 的 gorm v1 和 v2 版本的不同。这个问题已得到解决,请确保使用正确的版本。,到这里,我们也就讲完了《Go 中 GORM 预加载如何自定义排序和过滤关联数据?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注GOLANG公众号,带你了解更多关于的知识点!,go 中 gorm 自定义预加载的用法,一分耕耘,一分收获!既然都打开这篇
《Go 中 GORM 预加载如何自定义排序和过滤关联数据?》,就坚持看下去,学下去吧!本文主要会给大家讲到
等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新
GOLANG相关的内容,希望对大家都有所帮助!,
当前位置: > > > > Go 中 GORM 预加载如何自定义排序和过滤关联数据?
Go 中 GORM 预加载如何自定义排序和过滤关联数据?
2024-10-28 19:07:13
0浏览
收藏
一分耕耘,一分收获!既然都打开这篇《Go 中 GORM 预加载如何自定义排序和过滤关联数据?》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新GOLANG相关的内容,希望对大家都有所帮助!
go 中 gorm 自定义预加载的用法
想要通过预加载查询对象关联数据,而自定义预加载的用法需要使用 func(query *gorm.db) *gorm.db {} 这个匿名函数。在这个回调函数里,可以对关联查询的结果进行控制和操作,比如排序、过滤等。
例如,假设需要查询商品列表,并按照商品 id 降序排序:
type LabelType struct { ... GoodsList []Goods `gorm:"ForeignKey:LabelId" json:"goods_list"` //查询当前分类下的商品集合 } type Goods struct { ... Category Category `gorm:"foreignkey:CategoryID" json:"category"` //分类表 } func (labelModel *LabelType) GetAll(params *request.IndexParams) (labelTypes []*LabelType) { err := db.Debug().Model(&labelTypes). Preload("GoodsList", func(query *gorm.DB) *gorm.DB { return query.Order("goods_id desc") }). Preload("GoodsList.Category"). Where("mall_id = ? and status = ?", params.MallId, "normal").Order("weigh desc"). Find(&labelTypes).Error if err != nil && err != gorm.ErrRecordNotFound { return nil } return labelTypes }
在这个预加载回调函数中,query.order(“goods_id desc”) 表示按照商品 id 降序排序关联查询的结果。
案例中遇到的错误,是因为 go 的 gorm v1 和 v2 版本的不同。这个问题已得到解决,请确保使用正确的版本。
到这里,我们也就讲完了《Go 中 GORM 预加载如何自定义排序和过滤关联数据?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注GOLANG公众号,带你了解更多关于的知识点!
- 电脑密码怎么关闭?
- 如何设置 HTML 输入框的数字最低限制?