// User 用戶表 type User struct { ID int UserName string Password string Articles []*Article `orm:"rel(m2m)"` } // Article 文章表 type Article struct { ID int `orm:"pk;auto"` Artiname string `orm:"size(60)"` Atime time.Time `orm:"auto_now"` Acount int `orm:"default(20);null"` Acontent string Aimg string ArticleType *ArticleType `orm:"rel(fk)"` Users []*User `orm:"reverse(many)"` }
// 多對多插入,user article := models.Article{ID: id} // 1 獲取多對多操對象 m2m := o.QueryM2M(&article, "Users") // 2 獲取插入對象 username := c.GetSession("username").(string) beego.Info(username) var user = models.User{UserName: username} o.Read(&user, "UserName") // 3 多對多插入 _, err = m2m.Add(&user) if err != nil { beego.Info("插入多對多失敗") } // 多對多查詢 article := models.Article{ID: id} err = o.QueryTable("Article").RelatedSel("ArticleType").One(&article) o.LoadRelated(&article,"Users")
刪除方法和添加方法一樣,將add改成Remove即可。