Maison  >  Article  >  développement back-end  >  Champs manquants dans la méthode de recherche GORM

Champs manquants dans la méthode de recherche GORM

WBOY
WBOYavant
2024-02-13 20:40:091235parcourir

GORM 查找方法中缺少字段

l'éditeur php Xinyi rencontre parfois un problème lors de l'utilisation de GORM : dans la méthode de recherche, il manque certains champs dans les résultats renvoyés. Cela peut être dû au fait que nous n'avons pas ajouté d'étiquette au champ lors de la définition de la structure. Dans GORM, vous pouvez spécifier la manière dont les champs sont mappés dans la base de données à l'aide de balises. Par conséquent, afin de résoudre ce problème, nous devons ajouter l'étiquette correcte à chaque champ de la structure pour garantir que les valeurs de tous les champs peuvent être renvoyées correctement lors de l'interrogation.

Contenu de la question

J'essaie d'utiliser la méthode GORM find pour obtenir les valeurs de la table de la base de données, mais elle ne renvoie pas les valeurs de tous les champs. La structure du tableau est la suivante :

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;

Dans company.go, nous définissons la structure de l'entreprise comme suit :

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

Dans le contrôleur Companies.go, utilisez le code suivant pour obtenir les données,

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

Dans Postman, il renvoie uniquement la valeur des champs nom et identifiant. Les champs restants ont des valeurs vides. Quel pourrait être le problème?

J'ai essayé d'obtenir tous les champs en utilisant la méthode find de GORM mais cela ne me donne que deux champs

Les données du tableau sont les suivantes,

Solution de contournement

Comme la documentation l'indique , createdAtupdatedAt是由GORM管理的,所以你可以留下 gorm tag ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer