gorm 自定义预加载 preload加条件
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21// 首页活动模块区域分类表模型 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"` //查询当前分类下的商品集合 }
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30type 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"` //分类表 }
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14func (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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复