// 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即可。
原文地址:https://www.cnblogs.com/Mishell/p/12178724.html
时间: 2024-10-12 10:25:08