go-gorm - 是否可以在 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()
}
推荐阅读
- php - 如何将输入信息从 androidstodio 发送到 Localdatabase
- javascript - 在 Azure 上找不到 Nodemon
- java - 使用 Enterprise Security API Java 对阿拉伯文本进行编码
- hyperledger-composer - 找不到任何要为事务执行的函数
- java - 如何在 Java 9 Set.of 中保持秩序
- ios - 尝试获取视频文件的大小 (kb) 时出错
- spring-boot - spring-boot 1.5 ConfigurationProperties,属性中的数字在使用烤肉串案例时没有绑定
- c# - 我如何按名称获取 System.Object 的属性
- javascript - 为什么要为自定义函数提供参数并在 Javascript/NPM 模块中使用它?
- angular - 无法绑定到“ngModelOptions”,因为它不是“ion-input”的已知属性