Go
1func getPhotoDiff(userID, date string, rDB *gorm.DB) ([]model.PhotoDiff) { 2 var onedays []model.OnedayDiff 3 var photos []model.PhotoDiff 4 var resPhotos []model.PhotoDiff 5 6 rDB.Where("user_id = ?", userID).Find(&onedays) 7 for _, v := range onedays { 8 rDB.Where("oneday_id = ? AND updated_at > ?", v.ID, date).Find(&photos) 9 resPhotos = append(resPhotos, photos...) 10 } 11 return photos 12}
上記なような関数を実行すると、v.ID
は1, 2
と2回実行されるのですが
最後の2
の結果のみがresPhotos
へ代入され、最初の1
の結果がresPhotos
から消えてしまいます。
append
によって上書きされてしまうのが原因かと思うのですがこれを解決するには
resPhotos
をスライスから配列に変更し、model.PhotoDiff
を1つずつ代入してかなくてはならないでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/04 14:48