gorm v2 does not create a new record on join table for many to many association

Viewed 58

I have two structs like this:

type User struct {
gorm.Model
...
Newsletters   []Newsletter   `gorm:"many2many:user_newsletter"`
}

type Newsletter struct {
gorm.Model
...
Users         []User   `gorm:"many2many:user_newsletter"`
}

However when I try to add a new Newletter to an User no record is created in the table user_newsletter. This is my current code:

func (u *User) SaveUserNewsletter(n *Newsletter) (*User, error) {

    DB.Model(&u).Association("Newsletters")

    DB.Model(&u).Association("Newsletters").Append(&n)

    var err = DB.Session(&gorm.Session{FullSaveAssociations: true}).Omit("password").Save(&u).Error
    if err != nil {
        return &User{}, err
    }
    return u, nil
}

No errors are showing, but no records are created in my "joined" table. Thank you

0 Answers
Related