fix: save reflect err
This commit is contained in:
parent
d9525d4da4
commit
2026177412
@ -41,4 +41,6 @@ var (
|
||||
ErrInvalidValueOfLength = errors.New("invalid association values, length doesn't match")
|
||||
// ErrPreloadNotAllowed preload is not allowed when count is used
|
||||
ErrPreloadNotAllowed = errors.New("preload is not allowed when count is used")
|
||||
// ErrReflect err Reflect
|
||||
ErrReflect = errors.New("reflect err")
|
||||
)
|
||||
|
@ -75,7 +75,12 @@ func (db *DB) Save(value interface{}) (tx *DB) {
|
||||
|
||||
reflectValue := reflect.Indirect(reflect.ValueOf(value))
|
||||
for reflectValue.Kind() == reflect.Ptr || reflectValue.Kind() == reflect.Interface {
|
||||
reflectValue = reflect.Indirect(reflectValue)
|
||||
reflectIndirect := reflect.Indirect(reflectValue)
|
||||
if reflectValue == reflectIndirect {
|
||||
tx.AddError(ErrReflect)
|
||||
return
|
||||
}
|
||||
reflectValue = reflectIndirect
|
||||
}
|
||||
|
||||
switch reflectValue.Kind() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user