compatible TableName method declare use struct pointer

This commit is contained in:
safeie 2016-02-16 16:18:44 +08:00
parent f56113384f
commit f3a7ed63d4
1 changed files with 8 additions and 1 deletions

View File

@ -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