From ad33a0be490e07039b36682d3fc54ff36472966c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=95=86=E8=AE=AF=E5=9C=A8=E7=BA=BF?= Date: Sun, 13 Apr 2014 12:22:32 +0800 Subject: [PATCH] bug fixed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 商讯在线 --- engine.go | 4 +++- statement.go | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/engine.go b/engine.go index 0f4caacf..33595aa9 100644 --- a/engine.go +++ b/engine.go @@ -457,7 +457,9 @@ func (engine *Engine) mapType(v reflect.Value) *core.Table { table := engine.newTable() method := v.MethodByName("TableName") if !method.IsValid() { - method = v.Addr().MethodByName("TableName") + if v.CanAddr() { + method = v.Addr().MethodByName("TableName") + } } if method.IsValid() { params := []reflect.Value{} diff --git a/statement.go b/statement.go index 436087c1..fa82ff83 100644 --- a/statement.go +++ b/statement.go @@ -539,6 +539,9 @@ func (statement *Statement) Cols(columns ...string) *Statement { statement.columnMap[strings.ToLower(nc)] = true } statement.ColumnStr = statement.Engine.Quote(strings.Join(newColumns, statement.Engine.Quote(", "))) + if strings.Contains(statement.ColumnStr, ".") { + statement.ColumnStr = strings.Replace(statement.ColumnStr, ".", statement.Engine.Quote("."), -1) + } return statement }