summaryrefslogtreecommitdiffstats
path: root/vendor/xorm.io/xorm/schemas/table.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/xorm.io/xorm/schemas/table.go')
-rw-r--r--vendor/xorm.io/xorm/schemas/table.go19
1 files changed, 1 insertions, 18 deletions
diff --git a/vendor/xorm.io/xorm/schemas/table.go b/vendor/xorm.io/xorm/schemas/table.go
index bfa517aa2f..91b33e0621 100644
--- a/vendor/xorm.io/xorm/schemas/table.go
+++ b/vendor/xorm.io/xorm/schemas/table.go
@@ -5,7 +5,6 @@
package schemas
import (
- "fmt"
"reflect"
"strconv"
"strings"
@@ -159,24 +158,8 @@ func (table *Table) IDOfV(rv reflect.Value) (PK, error) {
for i, col := range table.PKColumns() {
var err error
- fieldName := col.FieldName
- for {
- parts := strings.SplitN(fieldName, ".", 2)
- if len(parts) == 1 {
- break
- }
-
- v = v.FieldByName(parts[0])
- if v.Kind() == reflect.Ptr {
- v = v.Elem()
- }
- if v.Kind() != reflect.Struct {
- return nil, fmt.Errorf("Unsupported read value of column %s from field %s", col.Name, col.FieldName)
- }
- fieldName = parts[1]
- }
+ pkField := v.FieldByIndex(col.FieldIndex)
- pkField := v.FieldByName(fieldName)
switch pkField.Kind() {
case reflect.String:
pk[i], err = col.ConvertID(pkField.String())