user_topic表里的id,关联topic_image表里的topicID,
//用户在发表话题动态的时候,同时发了多张照片,
//查询的时候需要从topic_image表查出用户此条动态发布的所有照片。
//是这样子的一对多关系
1.model字段部分(加外键关联外键)
type UserTopic struct {
ID int64 `gorm:"primary_key" json:"id"`
UserID int64 `json:"user_id"`
TopicImgURL string `json:"topic_img_url"`
//下面这一行是重点
//一对多
TopicImagesList []TopicImage `gorm:"ForeignKey:topic_id;AssociationForeignKey:id" json:"TopicImagesList,omitempty" `
}
ForeignKey:topic_id是指user_topic表关联topic_image表里的topicID,所以此处冒号后填写topic_id
AssociationForeignKey:id冒号后的id是user_topic表的id
//这是topic_image表的字段
type TopicImage struct {
Model
UserID int64 `json:"user_id"`
ImgURL string `json:"img_url"`
TopicID int64 `json:"topic_id"`
}
2.model函数部分
func (xy *UserTopic ) GetTopicList(adsID int64) (userTopicList []UserTopic ) {
tx := Db.Model(&xy).Where("ads_id = ? and status = 1", adsID)
//需要预加载
tx = tx.Preload("TopicImagesList")
tx.Find(&userTopicList ).RecordNotFound()
return userTopicList
}
疯狂的鸭血
原创文章 41获赞 13访问量 1万+
关注
私信
展开阅读全文