diff --git a/engine.go b/engine.go index 2499d494..6f7c3a32 100644 --- a/engine.go +++ b/engine.go @@ -481,7 +481,9 @@ func (engine *Engine) mapType(v reflect.Value) *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{}