Gorm1.25.7 同时使用joins与preload获取列表 报错 reflect: call of reflect.Value.Field on slice Value
💡
原文英文,约100词,阅读约需1分钟。
📝
内容提要
当join与preload是同一个表时,使用gorm v1.25.7会触发错误。解决办法是将gorm回滚至v1.25.6版本。
🎯
关键要点
- 当join与preload是同一个表时,使用gorm v1.25.7会触发错误。
- 错误示例代码:db.where("type = 2").Joins("A").Preload("A.B").Find(&a)。
- 错误信息为:reflect: call of reflect.Value.Field on slice Value。
- 错误原因是使用了rel.Field.ReflectValueOf获取db.Statement.ReflectValue,但Find(&a)是slice类型,导致映射错误。
- 解决办法是将gorm回滚至v1.25.6版本。
➡️