
type Article struct { ID int `gorm:"primary_key" json:"id"` TagID int `json:"tag_id"` Tag Tag `json:"tag"` ... } type Tag struct { ID uint `gorm:"primary_key" json:"id"` Name string `json:"name"` ... } func GetArticle(id int) (article Article) { db.Where("id = ?", id).First(&article) db.Model(&article).Related(&article.Tag) return } 现在问题是,单个查询可以,
但是假设是使用Find呢,Related那句关联查询,显然有问题,因为article已经是多个了,应该如何写??
1、循环的话应该不可能吧???
2、JOIN 查询构造器,应该可以实现,但是要把关联的字段也定义在结构体上(感觉不大好,而且属于绕过当前问题)
func GetArticles(id int) (article []Article) { db.Where("id = ?", id).Find(&article) //注,这里的关联查询就显然有问题了,此处应该如何改写? db.Model(&article).Related(&article.Tag) return } ps: Gorm 文档看了一大波,也谷了不少;但是没看到 /解决到我的疑问,可能是刚入门的原因,求解。。。。纠结很久了:(
谢谢