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

GORM 查找方法中缺少字段

WBOY
發布: 2024-02-13 20:40:09
轉載
1259 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板