Gorm1.25.7 同时使用joins与preload获取列表 报错 reflect: call of reflect.Value.Field on slice Value
94 字
1 分钟
Gorm1.25.7 同时使用joins与preload获取列表 报错 reflect: call of reflect.Value.Field on slice Value

参考issues: 6834
触发错误
当join与preload是同一个表时会触发错误,例如:
var a []Adb.where("type = 2").Joins("A").Preload("A.B").Find(&a)触发错误:reflect: call of reflect.Value.Field on slice Value
触发原因
reflectValue := rel.Field.ReflectValueOf(db.Statement.Context, db.Statement.ReflectValue)使用rel.Field.ReflectValueOf获取db.Statement.ReflectValue对象field,但是前面Find(&a)是一个slice类型,因此会导致映射错误
解决办法(2024-03-04)
在go.mod 将 gorm 回滚至 1.25.6
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
Gorm1.25.7 同时使用joins与preload获取列表 报错 reflect: call of reflect.Value.Field on slice Value
https://rehtt.com/posts/273/相关文章智能推荐
1
【Golang】xlsx.row to struct slice
Golang笔记2025-05-13
2
【Golang】使用反射实现验证struct必填字段是否为空
Golang笔记2021-08-20
3
【Golang】使用CGO交叉编译
Golang笔记2020-04-08
4
【Golang】Golang在Windows上获取管理员权限
Golang笔记2019-04-11
5
【Golang】调用syscall调用windows dll弹窗
Golang笔记2022-09-22
随机文章随机推荐















加载更多…