Mysql 使用std为多对多关系建模结构
我正在努力学习围棋,我想在帖子和标签之间建立一种多对多的关系。一个标签可以属于许多帖子,而一篇帖子可以有许多标签。我使用的是使用mysql驱动器的标准库(github.com/go-sql-driver/mysql) 这是我的密码: 邮政局Mysql 使用std为多对多关系建模结构,mysql,go,many-to-many,Mysql,Go,Many To Many,我正在努力学习围棋,我想在帖子和标签之间建立一种多对多的关系。一个标签可以属于许多帖子,而一篇帖子可以有许多标签。我使用的是使用mysql驱动器的标准库(github.com/go-sql-driver/mysql) 这是我的密码: 邮政局 package main type post struct { ID int `json:"id"` Title string `json:"title"` Content string `json:"content"`
package main
type post struct {
ID int `json:"id"`
Title string `json:"title"`
Content string `json:"content"`
Tags: Tag `json:"tags"`
}
加油
package main
type tag struct {
ID int `json:"id"`
Name string `json:"name"`
Posts: Post `json:"posts"`
}
这是构建这种多对多关系的正确方法吗
干杯以下是一些需要考虑的修改:
post
vs.post
)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"`
}
这段代码不会编译——我认为它更像是“伪代码”,是的,它是伪代码。我正在计划我的实现。使用指针的好处是我可以更新指针上的值,否则使用
Tag
或Post
将是只读的。对吗?我本来打算使用gorm,但通过在线阅读,我得到的普遍共识是,只使用标准库学习go更好。是的,如果我理解正确,使用指针将使您更容易“就地”修改结构。我认为尽可能多地使用标准库和本机语言是很好的,但是在对象到关系映射的情况下,本机示例并不多,使用流行库可能会减少边缘大小写错误的可能性。好吧,太棒了,我想我明白了,非常感谢!现在我将继续使用标准库。希望一切顺利