Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Medan tiada dalam kaedah carian GORM

Medan tiada dalam kaedah carian GORM

WBOY
WBOYke hadapan
2024-02-13 20:40:091235semak imbas

GORM 查找方法中缺少字段

Editor PHP Xinyi kadangkala menghadapi masalah apabila menggunakan GORM: dalam kaedah carian, hasil yang dikembalikan kehilangan beberapa medan. Ini mungkin kerana kami tidak menambah label pada medan semasa menentukan struktur. Dalam GORM, anda boleh menentukan cara medan dipetakan dalam pangkalan data dengan menggunakan tag. Oleh itu, untuk menyelesaikan masalah ini, kita perlu menambah label yang betul pada setiap medan dalam struktur untuk memastikan bahawa nilai semua medan boleh dikembalikan dengan betul semasa membuat pertanyaan.

Kandungan soalan

Cuba menggunakan kaedah GORM find untuk mendapatkan nilai jadual pangkalan data, tetapi ia tidak mengembalikan nilai semua medan. Struktur meja ialah,

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;

Dalam company.go, kami mentakrifkan struktur syarikat sebagai,

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

Dalam syarikat pengawal.go, gunakan kod berikut untuk mendapatkan data,

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

Dalam posmen ia hanya mengembalikan nilai nama medan dan id. Medan selebihnya mempunyai nilai kosong. Apa yang boleh menjadi masalah?

Saya cuba mendapatkan semua medan menggunakan kaedah cari GORM tetapi ia hanya memberi saya dua medan

Data dalam jadual adalah seperti berikut,

Penyelesaian

Seperti yang dinyatakan dalam dokumentasi , createdAtupdatedAt是由GORM管理的,所以你可以留下 gorm tag?

Atas ialah kandungan terperinci Medan tiada dalam kaedah carian GORM. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam