Что не так с fun c NamedExe c? - PullRequest
       101

Что не так с fun c NamedExe c?

1 голос
/ 07 августа 2020

go версия : 1.14.6 версия sqlx : latest

неправильный код, как показано ниже:

test := Test{
  Name: "John",
  Age:  30,
  Id:   "bskdvfjreo018g2c5pqg",
}
// table test has fields: id, name, age
_, err := sqlxdb.DB.NamedExec("NSERT INTO test(name,age,id)VALUES(:Name,:Age,:Id)", &test)
log.Println(err)

// log as follow:

// 2020/08/07 11:49:15 could not find name Name in &sqlx.Test{Id:"bskdvfjreo018g2c5pqg", Name:"John", CreateAt:0, Age:30}

Доза, кто знает, является ли второй параметр NamedExec должен передавать значение вроде «: create_at», но не «: CreateAt» и т. д.?

1 Ответ

0 голосов
/ 07 августа 2020

Как и в jmoiron/sqlx проблема 419 , проверьте, поможет ли добавление json сопоставления имени поля (используя тег поля структуры ):

type User struct {
  Id        int       `json:"id"`
  Name      string    `json:"name"`
  Bio       string    `json:"about,omitempty"`
  Active    bool      `json:"active"`
  Admin     bool      `json:"-"`
  CreatedAt time.Time `json:"created_at"`
}

Затем посмотрите, приведет ли передача &test в NamedExec к NamedExec с использованием :created_at вместо :CreatedAt

...