Skip to content

Instantly share code, notes, and snippets.

@Cibernomadas
Last active July 27, 2018 15:52
Show Gist options
  • Save Cibernomadas/4396877ba16d508f966ebb63706258c9 to your computer and use it in GitHub Desktop.
Save Cibernomadas/4396877ba16d508f966ebb63706258c9 to your computer and use it in GitHub Desktop.
func (u *User) Follow(db *gorm.DB, user User) {
if !u.IsFollowing(db, user) {
db.Model(&u).Association("Followers").Append(&user)
}
}
func (u *User) Unfollow(db *gorm.DB, user User) {
if u.IsFollowing(db, user) {
db.Model(&u).Association("Followers").Delete(&user)
}
}
func (u *User) IsFollowing(db *gorm.DB, user User) bool {
return db.Model(&u).Association("Followers").Find(user).Count() > 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment