From f3a7ed63d412ab6c6ecc8399a0c7ed8ed1db116d Mon Sep 17 00:00:00 2001 From: safeie Date: Tue, 16 Feb 2016 16:18:44 +0800 Subject: [PATCH] compatible TableName method declare use struct pointer --- engine.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/engine.go b/engine.go index afb38766..26f41dff 100644 --- a/engine.go +++ b/engine.go @@ -736,7 +736,14 @@ func (engine *Engine) mapType(v reflect.Value) *core.Table { if tb, ok := v.Interface().(TableName); ok { table.Name = tb.TableName() } else { - table.Name = engine.TableMapper.Obj2Table(t.Name()) + if v.CanAddr() { + if tb, ok = v.Addr().Interface().(TableName); ok { + table.Name = tb.TableName() + } + } + if table.Name == "" { + table.Name = engine.TableMapper.Obj2Table(t.Name()) + } } table.Type = t