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

GORM CreateInBatches dengan ralat struktur terbenam

WBOY
WBOYke hadapan
2024-02-05 21:27:12732semak imbas

带有嵌入式结构错误的 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"`
}

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

type user struct {
    id         int
    userid     int
    isactive   bool 
}

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
    }
}

Untuk kesempurnaan, berikut adalah ralatnya:

Error Inserting Schedule Batch: Error 1054: Unknown column 'is_active'
in 'field list'

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"`
}

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

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam