type User struct {
Id int64 `json:"id"`
Name string `json:"name"`
Roles []*Role `orm:"rel(m2m)"`
}
type Role struct {
Id int64 `json:"id"`
Name string `json:"name"`
Users []*User `orm:"reverse(many)"`
}
例如,查询用户所属的所有角色:
user := models.User{Id: 1}
o := orm.NewOrm()
o.LoadRelated(&user, "Roles")
for _, role := range user.Roles {
fmt.Printf("role name: %s", role.Name)
}
例如:
o := orm.NewOrm()
qs := o.QueryTable("user").Filter("id", 1).RelatedSel()
var user models.User
if err := qs.One(&user); err != nil {
return nil, err
}
for _, role := range user.Roles {
fmt.Printf("role name: %s", role.Name)
}
上一篇:Beego请求周期钩子