gorm 三表关联该如何使用?

有三张表来描述事件订阅

type EventSubscribe struct {
	gorm.Model
	Username      string          `gorm:"type:varchar(100)" json:"username"`
	EventTypes    []EventType     `gorm:"many2many:sub_event_tpyes;"`
	SubscribeType []SubscribeType `gorm:"many2many:sub_sub_types;"`
}

type EventType struct {
	gorm.Model
	Name string `gorm:"type:varchar(100)" json:"name"`
}

type SubscribeType struct {
	gorm.Model
	Name string `gorm:"type:varchar(100)" json:"name"`
}

我希望生成一张中间表

CREATE TABLE "sub_subType_eventType" (
	"sub_id" integer,
        "sub_type_id" integer,
	"event_type_id" integer,
	PRIMARY KEY ("sub_id","sub_type_id,event_type_id")
);

但是按照上面的方式建表是生成的两张关联表

image.pngimage.png

求大神们指教!

  • GORM
    4 引用 • 18 回帖
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    417 引用 • 1336 回帖 • 678 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    1760 引用 • 11529 回帖 • 581 关注

赞助商 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...