如果您想要更新关联的数据,您应该使用 FullSaveAssociations 模式:
true}).Updates(&user) // ... // INSERT INTO "addresses" (address1) VALUES ("Billing Address - Address 1"), ("Shipping Address - Address 1") ON DUPLICATE KEY SET address1=VALUES(address1); // INSERT INTO "users" (name,billing_address_id,shipping_address_id) VALUES ("jinzhu", 1, 2); // INSERT INTO "emails" (user_id,email) VALUES (111, "jinzhu@example.com"), (111, "jinzhu-2@example.com") ON DUPLICATE KEY SET email=VALUES(email); // ... ```
这种更新方式才会更新关联表的数据:
global.GVA_DB.Session(&gorm.Session{FullSaveAssociations: true}).Updates(&projectManagement).Error
// UpdateProjectManagement 更新ProjectManagement记录
// Author [piexlmax](https://github.com/piexlmax)
func (projectManagementService *ProjectManagementService) UpdateProjectManagement(projectManagement autocode.ProjectManagement) (err error) {
// err = global.GVA_DB.Save(&projectManagement).Error
err = global.GVA_DB.Session(&gorm.Session{FullSaveAssociations: true}).Updates(&projectManagement).Error
return err
}
官方文档:
https://gorm.io/zh_CN/docs/associations.html