package dao type RoleMenu struct { ID int64 `gorm:"primary_key" json:"id"` //编号 MenuId int64 `gorm:"type:bigint" json:"menuId"` //菜单id RoleId int64 `gorm:"type:bigint" json:"roleId"` //角色id } func (RoleMenu) TableName() string { return "role_menu" } func (c *RoleMenu) Save() error { return Db.Debug().Model(&c).Save(&c).Error } func (c *RoleMenu) BatchSave(menus []RoleMenu) error { return Db.Debug().Model(&c).Save(&menus).Error } func (c *RoleMenu) DeleteRoleIds(roleIds []int64) error { return Db.Debug().Model(&c).Where("role_id in ?", roleIds).Delete(&c).Error } func (c *RoleMenu) GetMenusByRole() ([]RoleMenu, error) { var menus []RoleMenu err := Db.Debug().Table("role_menu").Select("distinct menu_id").Where("role_id = ?", c.RoleId).Find(&menus).Error return menus, err } func (c *RoleMenu) GetAll() ([]RoleMenu, error) { var menus []RoleMenu err := Db.Debug().Table("role_menu").Select("distinct menu_id").Find(&menus).Error return menus, err }