首页 > 其他 > 详细

beego orm 多对多插入和查询操作

时间:2020-01-11 00:39:35      阅读:287      评论:0      收藏:0      [点我收藏+]

 

// 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即可。

beego orm 多对多插入和查询操作

原文:https://www.cnblogs.com/Mishell/p/12178724.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!