beego orm中的表结构一对多多一一关系的问题
"reverse(many)"// 设置一对多的反向关系是指就是 多对一的关系吗?
orm:"rel(m2m)"` //设置一对多关系 m2m不是many to many意思吗?关于beego orm表结构一对多多对一的关系看懵了,有go大神指点一二嘛,万分感激!
原文地址:https://github.com/astaxie/bu...
type Userinfo struct {
Uid int `PK` //如果表的主键不是id,那么需要加上pk注释,显式的说这个字段是主键
Username string
Departname string
Created time.Time
}
type User struct {
Uid int `PK` //如果表的主键不是id,那么需要加上pk注释,显式的说这个字段是主键
Name string
Profile *Profile `orm:"rel(one)"` // OneToOne relation
Post []*Post `orm:"reverse(many)"` // 设置一对多的反向关系
}
type Profile struct {
Id int
Age int16
User *User `orm:"reverse(one)"` // 设置一对一反向关系(可选)
}
type Post struct {
Id int
Title string
User *User `orm:"rel(fk)"`
Tags []*Tag `orm:"rel(m2m)"` //设置一对多关系
}
type Tag struct {
Id int
Name string
Posts []*Post `orm:"reverse(many)"`
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,这个文档里的案例是来自beego官方文档的,但是,有一个地方复制错了...以下是源文档:
可以看到 设置一对多关系的不是
m2m
,而是fk
,是写错了,m2m
的确是多对多关系例子里的正向关系的设置是在
Post
里的第三个字段初设置的orm:"rel(fk)"
,即post表
有一个字段user
关联着user表
的主键
;tags
同理。