go -GORM не может вставить значение - PullRequest
1 голос
/ 11 февраля 2020

Извините за мой бедный Энгли sh.

Я использую db.Create() для вставки значения в мой код.

Вот моя модель

type users struct {
    id       int        `json:"id"`
    name     string     `json:"name"`
    email    string     `json:"email"`
    password string     `json:"password" `
    website  string     `json:"website" `
    nickname string     `json:"nickname"`
    grade    string     `json:"grade"`
    bracket  string     `json:"bracket"`
    banned   bool       `json:"banned"`
    verified bool       `json:"verified"`
    admin    bool       `json:"admin"`
    joined   *time.Time `json:"joined"`
}

и код

    db.Create(&users{
        name:     name,
        email:    strings.ToLower(email),
        password: password,
        grade:    number,
    })

После выполнения sql был неправильным.

[2020-02-11 14:29:07]  [0.32ms]  INSERT INTO `users` VALUES()  

Другая хорошая операция, например First(), Where().

Я пытался использовать NewRecord() или Save() вместо этого, но результат был таким же.

Пожалуйста, скажите мне, где мой код пошёл не так.

1 Ответ

1 голос
/ 11 февраля 2020

Кажется, вы используете gorm в качестве платформы ORM. Если это так, свойства модели должны быть экспортированы. Вы должны определить struct следующим образом.

type users struct {
    Id       int        `json:"id"`
    Name     string     `json:"name"`
    Email    string     `json:"email"`
    Password string     `json:"password" `
    Website  string     `json:"website" `
    Nickname string     `json:"nickname"`
    Grade    string     `json:"grade"`
    Bracket  string     `json:"bracket"`
    Banned   bool       `json:"banned"`
    Verified bool       `json:"verified"`
    Admin    bool       `json:"admin"`
    Joined   *time.Time `json:"joined"`
}
...