Bagaimana untuk Menyimpan Susunan Integer dalam Model Gorm Menggunakan PostgreSQL?

DDD
Lepaskan: 2024-11-05 14:49:02
asal
167 orang telah melayarinya

How to Store an Array of Integers in a Gorm Model Using PostgreSQL?

Menambahkan Tatasusunan Integer sebagai Jenis Data dalam Model Gorm

Pengenalan:
Apabila bekerja dengan PostgreSQL menggunakan Gorm, menambah pelbagai integer sebagai jenis data dalam model boleh memberikan cabaran. Artikel ini menangani isu biasa yang dihadapi semasa mencuba operasi sedemikian.

Masalah:
Model Gorm sering menghadapi ralat apabila cuba menyimpan tatasusunan nombor dalam medan PostgreSQL tunggal. Ralat biasanya berbunyi, "panic: invalid sql type (slice) for postgres."

Penyelesaian masalah:
Isu timbul daripada menggunakan kepingan sebagai jenis data. Penyelesaiannya melibatkan penggunaan jenis tersuai daripada perpustakaan pemacu PostgreSQL yang mendasari.

Penyelesaian:
Dalam model yang disediakan:

<code class="go">type Game struct {
    gorm.Model
    GameCode    string
    GameName    string
    DeckType    pq.Int64Array
    GameEndDate string
}</code>
Salin selepas log masuk

Ganti DeckType []int64 dengan DeckType pq.Int64Array, di mana pq diimport sebagai import pq "github.com/lib/pq".

Teg GORM:
Untuk memetakan jenis tersuai dengan betul ke lajur pangkalan data , tambahkan teg gorm untuk menentukan jenis lajur:

<code class="go">DeckType    pq.Int64Array `gorm:"type:integer[]"`</code>
Salin selepas log masuk

Teg ini menandakan bahawa medan DeckType harus dipetakan kepada tatasusunan integer PostgreSQL.

Contoh Sisipan:
Selepas mengubah suai model dan menambah teg GORM, anda boleh memasukkan tatasusunan integer ke dalam pangkalan data:

<code class="go">dt := []int64{1, 2, 3}

db.Create(&Game{GameCode: "xxx", GameName: "xxx", DeckType: pq.Int64Array(dt), GameEndDate: "xxx"})</code>
Salin selepas log masuk

Dengan menggunakan jenis tersuai dan teg GORM, anda boleh berjaya menyimpan tatasusunan integer dalam medan PostgreSQL.

Atas ialah kandungan terperinci Bagaimana untuk Menyimpan Susunan Integer dalam Model Gorm Menggunakan PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!