Я создаю api, чтобы узнать больше из golang, и у меня проблема с отношениями многие ко многим между 2 объектами,
У меня 2 модели
type Patient struct {
ID uint `json:"id" gorm:"primary_key"`
Name string `json: "name"`
Surname string `json: "surname"`
Cellphone int `json: "cellphone"`
Email string `json: "email"`
Professionals []*Professional `json: "professionals" gorm:"many2many:professional_patient"`
}
и
type Professional struct {
ID uint `json:"id" gorm:"primary_key"`
Name string `json:"name"`
Surname string `json:"surname"`
Cellphone int `json:"cellphone"`
AuxiliarCellphone int `json:"auxiliarCellphone"`
Email string `json:"email"`
Patients []*Patient `json:"patients" gorm:"many2many:professional_patient"`
}
и функции получения:
func GetAllPatients(c *gin.Context) {
var patients []models.Patient
internal.DB.Preload("Professionals").Find(&patients)
c.JSON(http.StatusOK, gin.H{"data": patients})
}
и
func GetAllProfessionals(c *gin.Context) {
var professionals []models.Professional
internal.DB.Preload("Patients").Find(&professionals)
c.JSON(http.StatusOK, gin.H{"data": professionals})
}
, когда я делаю запрос на получение в почтальоне для профессионалов, пациентов поле возвращает пустой массив (что я думаю, это нормально, потому что у них еще нет загруженных пациентов)
, но в случае пациентов они возвращают «ноль» в поле профессионалов и лог в vscode говорит:
[2020-07-10 02:04:52] can't preload field Professionals for models.Patient
Что я могу здесь сделать?
Большое спасибо