package db type PersonStatus struct { CommunityID string `gorm:"column:communityID;type:varchar(299);"` //常驻小区 DocumentNumber string `gorm:"column:documentNumber;type:varchar(299);"` //档案编号 Status string `gorm:"column:status"` //标签 FrequentAddress string `gorm:"column:frequentAddress; type:varchar(299);"` //常驻地址 } func (ps *PersonStatus) TableName() string { return "person_status" } func (ps *PersonStatus) GetPersonAccessedAreas() (map[string][]string, error) { var results []PersonStatus err := db.Table(ps.TableName()).Find(&results).Error if err != nil { return nil, err } var communityMap = make(map[string][]string, 0) for _, p := range results { communityMap[p.DocumentNumber] = append(communityMap[p.DocumentNumber], p.CommunityID) } return communityMap, nil }