Pacific73 / gorm-cache

gorm v2的即插即用、无需修改代码的旁路缓存。An easy-to-use look-aside cache solution for gorm v2 users.
Apache License 2.0
107 stars 29 forks source link

使用缓存后Count操作会异常 #31

Open leovs opened 6 months ago

leovs commented 6 months ago

Count操作会异常,原因是gorm的Count的返回类型是int64,会提示反射类型是uint, 直接异常

panic: reflect: call of reflect.Value.Field on uint Value

goroutine 29 [running]: reflect.Value.Field({0xdd5ce0, 0xc0004b4600, 0x187}, 0x0) C:/Program Files/Go/src/reflect/value.go:1278 +0x269 gorm.io/gorm/schema.(*Field).setupValuerAndSetter.func2({0xf95ba8, 0x157aca0}, {0xdd5ce0, 0xc0004b4600, 0x187}) C:/Users/Administrator/go/pkg/mod/gorm.io/gorm@v1.25.5/schema/field.go:454 +0x117 github.com/Pacific73/gorm-cache/cache.getObjectsAfterLoad(0xc000212690) C:/Users/Administrator/go/pkg/mod/github.com/!pacific73/gorm-cache@v1.1.1/cache/helpers.go:249 +0x3d6 github.com/Pacific73/gorm-cache/cache.AfterQuery.func1(0xc000212690) C:/Users/Administrator/go/pkg/mod/github.com/!pacific73/gorm-cache@v1.1.1/cache/after_query.go:31 +0x314

Pacific73 commented 3 months ago

你好,感谢对本项目的关注。我在本地针对search cache和primary cache均进行了count的测试,结果均没有出现上述的错误。想问下你使用的gorm版本是什么?