伸手求一个 gorm 的查询方法
資深大佬 : zxCoder 2
看了一上午文档还没写出来
post tag post_tag_relation 三个表,post 和 tag 是多对多关系
现在要从关系表中查找某个 tagId 对应的所有 postId,再查这些 postId 对应的 post 信息,就包括把每个 post 对应的所有 tag 也查出来,有什么方便的方法吗
因为查询条件不确定,所以目前是这样写的
tagId,ok:=para["tagId"] if ok{ tagId=int(tagId.(float64)) var postIds []int64 var rels []models.PostTagRelation err := db.Table("post_tag_relation").Where("tag_id=?", tagId).Where("del=?",0).Select("postId").Find(&rels).Error if err != nil { log.Println("query error: ", err) c.JSON(200, failResp) return } for _, rel := range rels { postIds = append(postIds, rel.PostId) } db2=db2.Where("id in (?)",postIds) }
大佬有話說 (0)