Maison  >  Article  >  développement back-end  >  GORM CreateInBatches avec erreur de structure intégrée

GORM CreateInBatches avec erreur de structure intégrée

WBOY
WBOYavant
2024-02-05 21:27:12732parcourir

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

Contenu de la question

J'ai la structure suivante (tronquée pour plus de lisibilité)

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

Et puis voici ma structure d'utilisateurs (encore une fois tronquée pour plus de lisibilité) :

type user struct {
    id         int
    userid     int
    isactive   bool 
}

Je récupère les valeurs dans la structure schedule 结构上尝试 createinbatches (如 []schedule )。但是当我这样做时,插入查询还尝试插入 user.

Insérer un exemple (partie de code) :

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

Pour être complet, voici les erreurs :

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

Y a-t-il une balise ou quelque chose que je puisse faire pour omettre la structure utilisateur de la requête d'insertion ? Lorsque je génère la requête, elle s'affiche insert into schedule(计划列...,[附加用户结构列])

J'ai également essayé la balise d'autorisations de champ en fonction de la documentation ici


Bonne réponse


Le problème est que vous êtes dans la balise schedule 结构中为 user 使用 embedded. Lorsque vous le supprimez, cela devrait fonctionner comme prévu. Vous pouvez en savoir plus dans Documents

Votre schedule structure devrait donc ressembler à ceci :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer