golang gorm slice指針問題

問題描述:
寫項目代碼的時候遇到一個問題,遍歷這個切面,然後給value.AdsImagesList賦值,在這裏打印到控制檯顯示的賦值成功的,但是返回這個slice就會發現value.AdsImagesList的爲null,如下:

func (a *Ads) GetAdsDetailListByUserId(userId int64, row, offset int) (rd []RedAds) {
	t := time.Now().Unix()
	Db.Table("ads").Where("user_id = ? and status=? and (delete_time> ? or delete_time = 0)", userId, 2, t).Offset(offset).Limit(row).Find(&rd)
	for _, value := range rd {
		value.AdsImagesList = (&AdsImages{}).GetAdsImagesListByAdsId(value.Id)
	}

	return rd
}

上面的代碼,value.AdsImagesList的結果爲null

func (a *Ads) GetAdsDetailListByUserId(userId int64, row, offset int) (rd []*RedAds) {
	t := time.Now().Unix()
	Db.Table("lb_ads").Where("user_id = ? and status=? and (delete_time> ? or delete_time = 0)", userId, 2, t).Offset(offset).Limit(row).Find(&rd)
	for _, value := range rd {
		value.AdsImagesList = (&AdsImages{}).GetAdsImagesListByAdsId(value.Id)
	}

	return rd
}

返回值改爲[]*RedAds之後,value.AdsImagesList 的值纔會是廣告圖片列表

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章