Heim  >  Artikel  >  Backend-Entwicklung  >  Fehlende Felder in der GORM-Suchmethode

Fehlende Felder in der GORM-Suchmethode

WBOY
WBOYnach vorne
2024-02-13 20:40:091191Durchsuche

GORM 查找方法中缺少字段

Der PHP-Editor Xinyi stößt bei der Verwendung von GORM manchmal auf ein Problem: In der Suchmethode fehlen in den zurückgegebenen Ergebnissen einige Felder. Dies kann daran liegen, dass wir dem Feld beim Definieren der Struktur keine Beschriftung hinzugefügt haben. In GORM können Sie mithilfe von Tags festlegen, wie Felder in der Datenbank zugeordnet werden. Um dieses Problem zu lösen, müssen wir daher jedem Feld in der Struktur die richtige Beschriftung hinzufügen, um sicherzustellen, dass die Werte aller Felder bei der Abfrage korrekt zurückgegeben werden können.

Frageninhalt

Es wird versucht, die GORM-Methode find zu verwenden, um die Werte der Datenbanktabelle abzurufen, es werden jedoch nicht die Werte aller Felder zurückgegeben. Die Tabellenstruktur ist

CREATE TABLE `company` (
  `id` varchar(36) NOT NULL,
  `createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `name` varchar(255) NOT NULL,
  `newId` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

In company.go definieren wir die Unternehmensstruktur als:

package entities

import "time"

type Company struct {
    Id        string    `json:"id" gorm:"column:id;primaryKey"`
    CreatedAt time.Time `json:"createdAt" gorm:"column:createdAt"`
    UpdatedAt time.Time `json:"updatedAt" gorm:"column:updatedAt"`
    Name      string    `json:"name" gorm:"column:name"`
    NewId     string    `json:"newId" gorm:"column:newId"`
}

Verwenden Sie im Controller Companies.go den folgenden Code, um die Daten abzurufen,

var companys []entities.Company
    result := db.Find(&companys)
    c.JSON(http.StatusOK, &result)

In Postman wird nur der Wert der Felder Name und ID zurückgegeben. Die übrigen Felder enthalten leere Werte. Was könnte das Problem sein?

Ich habe versucht, alle Felder mit der Suchmethode von GORM abzurufen, aber es werden mir nur zwei Felder angezeigt

Die Daten in der Tabelle lauten wie folgt:

Workaround

Wie in der Dokumentation angegeben ist , createdAtupdatedAt是由GORM管理的,所以你可以留下 gorm Tag?

Das obige ist der detaillierte Inhalt vonFehlende Felder in der GORM-Suchmethode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen