Возвращает правильное количество столбцов, но все строки пусты - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь сделать простое чтение из mysql с помощью Gorm.

type Table struct {
    Id string `json:"Id" db:"Id" column:"Id" gorm:"column:Id"`
}


func getTable(w http.ResponseWriter, r *http.Request) {
    t:= []Table{}
    db.Debug().Table("Table").Find(&t)
    fmt.Println(table)
    fmt.Println("len(table)")
}

MySql имеет table со столбцом id в качестве primary_key

В результате получается таблица правильного размера, но все строки пусты ...

....[{} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}]

Но общее количество строк является правильным len(t) = 20523

Я думаю, что я делаю не так в определении Table struct, может я неправильно указал название столбца Id? Любой совет приветствуется.

1 Ответ

0 голосов
/ 18 февраля 2020

Вы можете использовать db.Raw и проверить, что поле имеет имя «Id», например:

type Table struct {
	Id string `json:"Id" db:"Id" column:"Id" gorm:"column:Id"`
}

func getTable() {
	t := []Table{}
	db := config.ConnectDB()
	defer db.Close()

	db.Raw(" SELECT idEvaluacionAnual as Id FROM EvaluacionesAnuales ").Scan(&t)
	fmt.Println(t.Id)
	fmt.Println("len(table)")
}

Надеюсь, это поможет вам

...