我是靠谱客的博主 发嗲小蝴蝶,最近开发中收集的这篇文章主要介绍gorm 自定义预加载 preload加条件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

gorm 自定义预加载 preload加条件

// 首页活动模块区域分类表模型
type LabelType struct {
Model
Id
int
`json:"id";gorm:"primary_key"`
MallId
int
`json:"mall_id"`
Status
int
`json:"-"`
Name
string `json:"name"`
Weigh
int
`json:"weigh"`
// 权重
GoodsList []Goods `gorm:"ForeignKey:LabelId" json:"goods_list"` //查询当前分类下的商品集合
}
type Goods struct {
Model
GoodsId
int
`json:"goods_id" gorm:"primary_key"`
MallId
int
`json:"mall_id"`
// 商城id
LabelId
int
`json:"label_id"`
// 关联mall_label_type
GoodsName
string
`json:"goods_name"`
// 商品名称
CategoryId
int
`json:"category_id"` // 分类id
SmallImage
string
`json:"small_image"` // 商品缩略图
Images
string
`json:"images"`
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
}

最后

以上就是发嗲小蝴蝶为你收集整理的gorm 自定义预加载 preload加条件的全部内容,希望文章能够帮你解决gorm 自定义预加载 preload加条件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部