Bagaimana untuk menyimpan pelbagai integer sebagai medan tunggal dalam pangkalan data PostgreSQL menggunakan Gorm?

Susan Sarandon
Lepaskan: 2024-11-04 16:54:02
asal
962 orang telah melayarinya

How to store an array of integers as a single field in a PostgreSQL database using Gorm?

Menambah Tatasusunan Integer sebagai Jenis Data dalam Model Gorm

Apabila cuba menyimpan tatasusunan nombor sebagai medan tunggal dalam pangkalan data Postgres menggunakan Gorm, pengguna mungkin menghadapi ralat yang menunjukkan jenis SQL yang tidak sah. Untuk menyelesaikan isu ini, jenis tersuai daripada pustaka asas harus digunakan.

Coretan kod berikut menunjukkan cara mengisytiharkan model Gorm dengan tatasusunan integer sebagai jenis data:

<code class="go">type Game struct {
    gorm.Model                                           
    GameCode    string                                      
    GameName    string                                      
    DeckType    pq.Int64Array `gorm:"type:integer[]"` // Use custom type from pq library
    GameEndDate string    
}</code>
Salin selepas log masuk

Untuk menambah rekod pada pangkalan data menggunakan model ini, cipta tatasusunan integer dan gunakan kaedah Cipta:

<code class="go">dt := []int64{1, 2, 3}
                                                                                
db.Create(&amp;Game{GameCode: "xxx", GameName: "xxx", DeckType: pq.Int64Array(dt), GameEndDate: "xxx"})</code>
Salin selepas log masuk

Dengan menggunakan jenis tersuai, anda boleh bekerja dengan tatasusunan integer sebagai jenis data dalam Gorm anda dengan berkesan model apabila berinteraksi dengan pangkalan data Postgres.

Atas ialah kandungan terperinci Bagaimana untuk menyimpan pelbagai integer sebagai medan tunggal dalam pangkalan data PostgreSQL menggunakan Gorm?. 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
Artikel terbaru oleh pengarang
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!