首頁  >  文章  >  後端開發  >  GORM 查找方法中缺少字段

GORM 查找方法中缺少字段

WBOY
WBOY轉載
2024-02-13 20:40:091238瀏覽

GORM 查找方法中缺少字段

php小編新一在使用GORM時,有時候會遇到一個問題:在尋找方法中,傳回的結果缺少某些欄位。這可能是因為我們在定義結構體時,沒有為該欄位新增標籤。在GORM中,透過使用標籤可以指定欄位在資料庫中的對應方式。因此,為了解決這個問題,我們需要為結構體中的每個欄位都添加正確的標籤,以確保在查詢時能夠正確傳回所有欄位的值。

問題內容

嘗試使用GORM方法find取得資料庫表的值,但它沒有傳回所有欄位的值。 表結構是,

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;

在company.go中,我們將公司結構定義為,

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"`
}

在控制器companys.go中,使用以下程式碼取得數據,

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

在郵差中,它只傳回欄位 name 和 id 的值。其餘欄位的值為空。可能是什麼問題?

我嘗試使用 GORM 的 find 方法來獲取所有字段,但它只給出兩個字段

表中的資料如下所示,

解決方法

正如文件所述createdAtupdatedAt是由GORM管理的,所以你可以留下gorm 標籤嗎?

以上是GORM 查找方法中缺少字段的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除