跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • gorm 自定义预加载的 正确用法是什么?一直报错: invalid query condition
未分類
1 9 月 2020

gorm 自定义预加载的 正确用法是什么?一直报错: invalid query condition

gorm 自定义预加载的 正确用法是什么?一直报错: invalid query condition

資深大佬 : ysongyang 4

// 首页活动模块区域分类表模型 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 } 

大佬有話說 (7)

  • 主 資深大佬 : ysongyang

    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”` //查询当前分类下的商品集合
    }
    “`

  • 主 資深大佬 : ysongyang

    加 func(query gorm.DB) gorm.DB { return query.Order(“goods_id desc”)} 就会报错
    invalid query condition:
    不加这个是可以正常查询的

  • 資深大佬 : EileenJ

    去掉 Model(&labelTypes)试下

  • 主 資深大佬 : ysongyang

    @EileenJ 没用的。能使的方法都试过。

  • 資深大佬 : Carlgao

    你的 ForeignKey:LabelId 写错了吧,难道不是应该是 GoodId 吗,然而在你的 LabelType 结构体里面没有看到这个字段

  • 主 資深大佬 : ysongyang

    @Carlgao 我查询的是 模块分类列表,然后列出 模块分类下的商品集合,没毛病吧。而且我也说了呀 加 func(query gorm.DB) gorm.DB { return query.Order(“goods_id desc”)} 就会报错, 不加这个 是可以正常查出来我想要的数据的呀。

  • 主 資深大佬 : ysongyang

    问题已解决!

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具