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,8 +736,15 @@ func (engine *Engine) mapType(v reflect.Value) *core.Table {
if tb, ok := v.Interface().(TableName); ok { if tb, ok := v.Interface().(TableName); ok {
table.Name = tb.TableName() table.Name = tb.TableName()
} else { } else {
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.Name = engine.TableMapper.Obj2Table(t.Name())
} }
}
table.Type = t table.Type = t