// 首页活动模块区域分类表模型
type LabelType struct {
Model
Id int `json:"id";gorm:"primary_key"`
MallId int `json:"mall_id"`
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
}
1
ysongyang OP LabelType 代码补全
``` // 首页活动模块区域分类表模型 type LabelType struct { Model Id int `gorm:"primary_key" json:"id"` MallId int `json:"mall_id"` Name string `json:"name"` Images string `json:"images"` // 背景图 Status string `json:"-"` // normal 开启 hidden 关闭 Weigh int `json:"weigh"` // 权重, 越大越靠前 CreateTime int `json:"-"` UpdateTime int `json:"-"` GoodsList []LitestoreGoods `gorm:"ForeignKey:LabelId" json:"goods_list"` //查询当前分类下的商品集合 } ``` |
2
ysongyang OP 加 func(query gorm.DB) gorm.DB { return query.Order("goods_id desc")} 就会报错
invalid query condition: 不加这个是可以正常查询的 |
3
EileenJ 2020-09-03 18:26:58 +08:00 via Android
去掉 Model(&labelTypes)试下
|
5
Carlgao 2020-09-04 10:30:28 +08:00
你的 ForeignKey:LabelId 写错了吧,难道不是应该是 GoodId 吗,然而在你的 LabelType 结构体里面没有看到这个字段
|
6
ysongyang OP @Carlgao 我查询的是 模块分类列表,然后列出 模块分类下的商品集合,没毛病吧。而且我也说了呀 加 func(query gorm.DB) gorm.DB { return query.Order("goods_id desc")} 就会报错, 不加这个 是可以正常查出来我想要的数据的呀。
|
7
ysongyang OP 问题已解决!
|