登录
首页 >  Golang >  Go问答

GORM查询方法的字段遗漏问题

来源:stackoverflow

时间:2024-02-09 14:02:32 112浏览 收藏

本篇文章给大家分享《GORM查询方法的字段遗漏问题》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

尝试使用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查询方法的字段遗漏问题》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>