package user import ( "web/common/page" "web/database" "web/model/usergroup" ) type User struct { ID int `gorm:"primaryKey;column:id" json:"id"` Username string `gorm:"column:username" json:"username"` GroupID int `gorm:"column:group_id" json:"group_id"` UserGroup usergroup.UserGroup `gorm:"foreignKey:ID;references:GroupID" json:"user_group"` } func (User) TableName() string { return "users" } func GetUser() User { u := User{} database.DB.Preload("UserGroup").First(&u, "id = ?", 2) return u } func GetUserList(pd page.PageData) page.PageData { var ( list []User count int64 ) database.DB.Model(&User{}). Count(&count). Preload("UserGroup"). Limit(pd.PageSize). Offset(pd.Offset). Find(&list) pd.Data = list pd.Total = count return pd } func SetName(id int, name string) bool { u := User{ ID: id, Username: name, } d := database.DB.Save(&u) return d.Error == nil }