Bootstrap

gorm 关系一对一,一对多,多对多查询

要实现的功能.
文章属于一个分类.
文章有多个标签

相关表四张.表提前在数据库建立的.没有外键关系

  • article表
  • tag表.
  • article_tag表
  • category表
//文章表
type Article struct {
   
  Id int `json:"id"`
  Title string `json:"title"`
  CategoryId int `json:"category_id"`
  Category Category `json:"category";gorm:"foreignkey:CategoryID"`//指定关联外键
  Tag []Tag `gorm:"many2many:article_tag" json:"tag"`//多对多关系.
  //article_tag表默认article_id字段对应article表id.tag_id字段对应tag表id
  //可以把对应sql日志打印出来,便于调试
}
//文章_标签中间表
type ArticleTag struct {
   
   Id int `json:"id" `
  ArticleId string `json:"article_id"`
  TagId string `json:"tag_id"`
  CreatedAt string `json:"created_at"`
  UpdatedA
;