fix bug where result.Document.self != result
This commit is contained in:
parent
510a126f4b
commit
f56df39be8
8
query.go
8
query.go
@ -611,10 +611,18 @@ func (q *Query) Exec(result interface{}) {
|
|||||||
imodel, ok := cur.Interface().(IDocument)
|
imodel, ok := cur.Interface().(IDocument)
|
||||||
if ok {
|
if ok {
|
||||||
imodel.setExists(true)
|
imodel.setExists(true)
|
||||||
|
imodel.SetSelf(imodel)
|
||||||
doc.Elem().Index(i).Set(reflect.ValueOf(imodel))
|
doc.Elem().Index(i).Set(reflect.ValueOf(imodel))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if idoc, ok := q.doc.(IDocument); ok {
|
||||||
|
idoc.SetSelf(result)
|
||||||
|
}
|
||||||
|
if rdoc, ok2 := result.(IDocument); ok2 {
|
||||||
|
rdoc.SetSelf(result)
|
||||||
|
}
|
||||||
reflect.ValueOf(result).Elem().Set(reflect.ValueOf(q.doc).Elem())
|
reflect.ValueOf(result).Elem().Set(reflect.ValueOf(q.doc).Elem())
|
||||||
q.done = true
|
q.done = true
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user