beego orm 多對多插入和查詢操作


 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM