“有很多”关系给人空洞的结果

I am trying to define one to many relation with gorm ORM . I have read all the docs over and over again . Could not find a way to do it.

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)
}

My Models are ..

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
}

Debug Results are

[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')

But I am getting null results

{
    "Id": 1,
    "Username": "test1",
    "Email": "test1@friesen.com",
    "UserActivities": null
}

All the primary keys and Indexes are right . I have also tried puttin gorm:"primary_key" and sql:"index" in UserActivities no luck so far . However if I replace UserActivities []UserActivity with UserActivities UserActivity then i get only one row which seems to be right but why UserActivities []UserActivity giving no results

use gorm built in model gorm.Model so that your not messing up the "ID" constant

The solution to your problem is very simple.

Rather than quering

var user models.User
var activities models.UserActivity
query := DB.Debug().Find(&user, 1).Model(&user).Related(&activities).Error

Just query

var user models.User
query := DB.Debug().Find(&user, 1).Model(&user).Related(&user.UserActivities).Error