From a4091541660380b6f51d5fcf70009222f6becd19 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 26 Jun 2013 01:13:09 +0800 Subject: [PATCH] fix bug --- session.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/session.go b/session.go index e2c9cbc5..a5dbad28 100644 --- a/session.go +++ b/session.go @@ -716,12 +716,17 @@ func (session *Session) InsertOne(bean interface{}) (int64, error) { } else { continue } - } else if fieldConvert, ok := fieldValue.Addr().Interface().(Conversion); ok { - data, err := fieldConvert.ToDB() - if err != nil { - return 0, err + } else if fieldValue.Type().Kind() == reflect.Struct && + fieldValue.CanAddr() { + if fieldConvert, ok := fieldValue.Addr().Interface().(Conversion); ok { + data, err := fieldConvert.ToDB() + if err != nil { + return 0, err + } else { + args = append(args, string(data)) + } } else { - args = append(args, string(data)) + args = append(args, val) } } else { args = append(args, val)