From 6dc2f9eec79786ec144fe156965c5e6eab35892e Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 10 Aug 2021 20:31:37 +0800 Subject: [PATCH] Fix bug --- session_associate.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/session_associate.go b/session_associate.go index 3877d89a..f699a7b1 100644 --- a/session_associate.go +++ b/session_associate.go @@ -110,8 +110,14 @@ func (session *Session) loadFindSlice(v reflect.Value, cols ...string) error { } for col, va := range pks { - slice := reflect.MakeSlice(reflect.SliceOf(col.FieldType), 0, len(va.pk)) - err = session.In(va.col.Name, va.pk...).find(slice.Interface()) + //slice := reflect.New(reflect.SliceOf(col.FieldType)) + pkCols := col.AssociateTable.PKColumns() + if len(pkCols) != 1 { + return fmt.Errorf("unsupported primary key number") + } + mp := reflect.MakeMap(reflect.MapOf(pkCols[0].FieldType, col.FieldType)) + //slice := reflect.MakeSlice(, 0, len(va.pk)) + err = session.In(va.col.Name, va.pk...).find(mp.Addr().Interface()) if err != nil { return err }