Отношение «многие ко многим», возвращающее пустые значения - PullRequest
0 голосов
/ 07 декабря 2018

Я хочу создать отношение многие ко многим, используя beego.Это моя структура:

type User struct {
    Id         int
    UserName   string `orm:"unique"`
    Department string
    Email      string
    Groups     []*Group `orm:"rel(m2m)"` 
}

type Group struct {
    Id        int
    GroupName string `orm:"unique"`
    Introduce string
    Users     []*User `orm:"reverse(many)"`
}

Как мне соотнести эти структуры.

o := orm.NewOrm()
u1 := User{UserName: "zhangszan"}
u2 := User{UserName: "lisi"}
g1 := Group{GroupName: "g1"}
g2 := Group{GroupName: "g2"}

o.InsertMulti(2, []User{u1, u2})
o.InsertMulti(2, []Group{g1, g2})

m2mu1 := o.QueryM2M(&u1, "Groups")
m2mu2 := o.QueryM2M(&u2, "Groups")

m2mu1.Add(&g1)
m2mu1.Add(&g2)

m2mu2.Add(&g2)
beego.Debug(u1)
beego.Debug(u2)

Консоль печатает два пустых массива.Я думаю, что должны быть значения в этих двух массивах.кто-нибудь знает, как решить эту проблему?благодарю.

 {0 zhangszan   []}
 {0 lisi   []}

Окружающая среда

  • Beego: 1.11.1
  • GoVersion: go1.10
  • GOOS: windows
  • GOARCH: amd64
...