我正在努力学习go,我想在帖子和标签之间建立多对多的关系。标签可以属于许多帖子,帖子可以有许多标签。我正在使用mysql驱动器的标准库(github.com/go-sql-driver/mysql)
这是我的代码:
post.go
package main
type post struct {
ID int `json:"id"`
Title string `json:"title"`
Content string `json:"content"`
Tags: Tag `json:"tags"`
}
tag.go
package main
type tag struct {
ID int `json:"id"`
Name string `json:"name"`
Posts: Post `json:"posts"`
}
这是构建这种多对多关系的正确方法吗?
干杯
答案 0 :(得分:2)
以下是需要考虑的几项修改:
post
与Post
)[]*Post
和[]*Tag
),但是流行的ORM库并不严格需要(对于示例gorm:http://jinzhu.me/gorm/associations.html#many-to-many)。示例代码:
type Post struct {
ID int `json:"id"`
Title string `json:"title"`
Content string `json:"content"`
Tags []Tag `json:"tags"`
}
type Tag struct {
ID int `json:"id"`
Name string `json:"name"`
Posts []Post `json:"posts"`
}