J'essaie de définir une relation à plusieurs avec ORM gorm. J'ai lu tous les docs encore et encore. Impossible de trouver un moyen de le faire.Golang: gorm ORM a plusieurs relations donnant un résultat vide
func GetUser1(c *gin.Context) {
var user models.User
var activities models.UserActivity
query := DB.Debug().Find(&user, 1).Model(&user).Related(&activities).Error
if query != nil {
panic(query)
}
c.JSON(200, &user)
}
Mes modèles sont ..
type User struct {
Id int64
Username string
Password string `json:"-"`
Email string `json:",omitempty"`
UserActivities []UserActivity
}
type UserActivity struct {
Id int64
UserId int64 `json:"-"`
ActorId int64
CreatedAt time.Time
}
Résultats de débogage sont
[2015-11-21 22:21:54] [3.17ms] SELECT * FROM `users` WHERE (`id` = '1')
[2015-11-21 22:21:54] [1.39ms] SELECT * FROM `user_activities` WHERE (`user_id` = '1')
Mais je reçois des résultats nuls
{
"Id": 1,
"Username": "test1",
"Email": "[email protected]",
"UserActivities": null
}
Toutes les clés primaires et les index sont à droite . J'ai également essayé puttin gorm:"primary_key"
et sql:"index"
dans UserActivities
pas de chance jusqu'à présent. Toutefois, si je remplace UserActivities []UserActivity
avec UserActivities UserActivity
puis-je obtenir une seule ligne qui semble avoir raison, mais pourquoi UserActivities []UserActivity
donner aucun résultat