Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.2K
Visualizações
Agregar una matriz de enteros como tipo de datos en un modelo de Gorm

Estoy tratando de guardar una serie de números en un solo campo postgresql usando Gorm.

La matriz debe ser una lista con entre 2 y 13 números: [1, 2, 3, 5, 8, 13, 21, 40, 1000]

Todo funcionaba al guardar un solo archivo int64. Cuando intenté cambiar el modelo para tener en cuenta una matriz de int64, me da el siguiente error:

"pánico: tipo de sql no válido (segmento) para postgres"

mi modelo Gorm es:

 type Game struct { gorm.Model GameCode string GameName string DeckType []int64 GameEndDate string }

Actualización basada en la respuesta de @pacuna. Probé el código sugerido y obtengo un error similar.

"pánico: tipo de sql inválido Int64Array (segmento) para postgres"

Aquí está el bloque de código completo:

 package main import ( "fmt" "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/postgres" pq "github.com/lib/pq" ) var db *gorm.DB // Test -- Model for Game table type Test struct { gorm.Model GameCode string GameName string DeckType pq.Int64Array GameEndDate string } func main() { db, err := gorm.Open("postgres", "host=localhost port=5432 user=fullstack dbname=scratch_game sslmode=disable") if err != nil { fmt.Println(err.Error()) panic("Failed to connect to database...") } defer db.Close() dt := []int64{1, 2, 3} db.AutoMigrate(&Test{}) fmt.Println("Table Created") db.Create(&Test{GameCode: "xxx", GameName: "xxx", DeckType: pq.Int64Array(dt), GameEndDate: "xxx"}) fmt.Println("Record Added") }
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Debe usar tipos personalizados de la biblioteca subyacente:

 type Game struct { gorm.Model GameCode string GameName string DeckType pq.Int64Array `gorm:"type:integer[]"` GameEndDate string } // example insertion dt := []int64{1, 2, 3} db.Create(&Game{GameCode: "xxx", GameName: "xxx", DeckType: pq.Int64Array(dt), GameEndDate: "xxx"})
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda