Rumah > pembangunan bahagian belakang > Golang > GORM CreateInBatches dengan ralat struktur terbenam

GORM CreateInBatches dengan ralat struktur terbenam

WBOY
Lepaskan: 2024-02-05 21:27:12
ke hadapan
839 orang telah melayarinya

带有嵌入式结构错误的 GORM CreateInBatches

Kandungan soalan

Saya mempunyai struktur berikut (dipotong untuk kebolehbacaan)

type schedule struct {
    id              int  
    userid          int
    user            user    `gorm:"embedded;foreignkey:userid;references:userid"`
}
Salin selepas log masuk

Dan kemudian inilah struktur pengguna saya (sekali lagi dipotong untuk kebolehbacaan):

type user struct {
    id         int
    userid     int
    isactive   bool 
}
Salin selepas log masuk

Saya mendapat nilai dalam struktur schedule 结构上尝试 createinbatches (如 []schedule )。但是当我这样做时,插入查询还尝试插入 user.

Sisipkan contoh (bahagian kod):

err := db.transaction(func(tx *gorm.db) error {
    if err := tx.createinbatches(&schedules, len(schedules)).error; err != nil {
        return err //rollback
    }
}
Salin selepas log masuk

Untuk kesempurnaan, berikut adalah ralatnya:

Error Inserting Schedule Batch: Error 1054: Unknown column 'is_active'
in 'field list'
Salin selepas log masuk

Adakah teg atau apa-apa sahaja yang boleh saya lakukan untuk menghilangkan struktur pengguna daripada pertanyaan sisipan? Apabila saya mengeluarkan pertanyaan, ia menunjukkan insert into schedule(计划列...,[附加用户结构列])

Saya juga mencuba tag kebenaran medan berdasarkan dokumentasi di sini


Jawapan betul


Masalahnya ialah anda berada dalam tag schedule 结构中为 user 使用 embedded. Apabila anda mengeluarkannya, ia sepatutnya berfungsi seperti yang diharapkan. Anda boleh membaca tentangnya dalam Dokumen

Jadi struktur schedule anda sepatutnya kelihatan seperti ini:

type Schedule struct {
    ID              int  
    UserId          int
    User            User `gorm:"foreignKey:UserId;references:UserId"`
}
Salin selepas log masuk

Atas ialah kandungan terperinci GORM CreateInBatches dengan ralat struktur terbenam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
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