是否可以在 Golang GORM 中进行无范围预加载?
Is it possible to do an unscoped preload in Golang GORM?
像这样将 Unscoped() 添加到调用链中:
db.Unscoped().Preload("Orders").Find(&users)
影响Find(),但不影响Preload()。
为 Preload() 生成的查询仍然包含:
"orders"."deleted_at" IS NULL
如何取消生成的预加载查询的范围?我希望通过 Preload() 获取软删除的行。
回调可以这样:
.Preload("Orders", func(db *gorm.DB) *gorm.DB {
return db.Unscoped()
}
像这样将 Unscoped() 添加到调用链中:
db.Unscoped().Preload("Orders").Find(&users)
影响Find(),但不影响Preload()。
为 Preload() 生成的查询仍然包含:
"orders"."deleted_at" IS NULL
如何取消生成的预加载查询的范围?我希望通过 Preload() 获取软删除的行。
回调可以这样:
.Preload("Orders", func(db *gorm.DB) *gorm.DB {
return db.Unscoped()
}