码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-01-11 09:39:21      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:rem   var   对象   pass   art   password   null   操作   info   

 

// 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 多对多插入和查询操作

标签:rem   var   对象   pass   art   password   null   操作   info   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!