@Magus_Education

Почему db.Find сьедает одно из значений таблицы?

Добрый день. В официальной документации прочитал что db.find по сути select * from, однако используя select * from через MySQL получаю 607db90eac95e638386069.png
Тогда как используя в коде db.Find мне выдаёт 607db9695cb57974415719.png
Собственно вопрос. Почему db.Find сьедает userId и вместо положенного 7, всегда выдаёт 0?

Структура в коде:
type Post struct {
ID int `gorm:"primaryKey"`
UserId int `json:"userId"`
Title string `json:"title"`
Body string `json:"body"`
}
Таблица в БД:
Columns:
id int PK
userId int
title varchar(100)
body varchar(250)

P.S. Дичайше извиняюсь за шакальность второго скриншота, вот пример буквами: "ID":61,"userId":0,"title":"voluptatem doloribus consectetur est ut ducimus","body":"ab nemo optio odio\ndelectus tenetur corporis similique nobis repellendus rerum omnis facilis\nvero blanditiis debitis in nesciunt doloribus dicta dolores\nmagnam minus velit"
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
EvgenyMamonov
@EvgenyMamonov Куратор тега Go
Senior software developer, system architect
99%, что дело в названиях полей
Если из базы вы извлекаете данные в структуру Post - допишите там db:"userId", чтобы получилось примерно так
UserId int `json:"userId" db:"userId"`
или для gorm
UserId int `json:"userId" gorm:"column:userId"`
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы