Я пытаюсь сохранить массив структур.
Я пытался:
type ShiftValue struct {
Hour uint8 `json:"hour"`
Minute uint8 `json:"minute"`
}
type Shift struct {
Start ShiftValue `json:"start"`
End ShiftValue `json:"end"`
}
type Config struct {
ID uuid.UUID `gorm:"type:uuid;primary_key;index;" json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt *time.Time `json:"deleted_at,omitempty"`
Shifts []Shift `gorm:"type:varchar(100)[];" json:"shifts,"`
}
Но не работает. Я также пытался сохранить сдвиги как pq.StringArray
:
type Config struct {
ID uuid.UUID `gorm:"type:uuid;primary_key;index;" json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt *time.Time `json:"deleted_at,omitempty"`
Shifts pq.StringArray `gorm:"type:varchar(100)[];" json:"shifts,"`
}
, что вроде бы работает, но я не знаю, как я могу преобразовать срез Shift
в StringArray
.
Должен ли я использовать GenericArrray
?
Как я могу сделать преобразование из Slice
в GenericArray
или StringArray
?
Когда я Unmarshall
данных, я делаю это в следующей структуре Я проверяю данные и после этого хочу сохранить их в базе данных:
type ConfigUpdate struct {
Shifts []Shift `json:"shifts,"`
}