Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Melaksanakan Kunci Asing dengan Betul dalam Gorm untuk Hubungan Kepunyaan?
Ralat Hubungan Gorm: Pelaksanaan Kunci Asing yang Betul
Di Gorm, mewujudkan perhubungan antara model adalah penting untuk pengambilan dan manipulasi data yang cekap. Isu terbaru yang dilaporkan melibatkan ralat yang dihadapi semasa cuba mendapatkan data daripada pangkalan data, terutamanya apabila medan "Lokasi" digunakan sebagai kunci asing.
Untuk memahami masalah, mari kita mulakan dengan memeriksa model data yang ditakrifkan untuk perhubungan:
// LocationDescription model type LocationDescription struct { ID int `json:"locationID"` Name string `json:"name"` IsActive bool `json:"isActive"` } // ConfigurationDescription model type ConfigurationDescription struct { ID int `json:"configurationID"` Name string `json:"name"` IsActive bool `json:"isActive"` LocationID int `json:"location_id"` Location LocationDescription `json:"location,omitempty" gorm:"foreignKey:ID;references:LocationID"` }
Ralat yang dihadapi, "medan tidak sah ditemui untuk model struct. Medan ConfigurationDescription Lokasi, perlu menentukan kunci asing yang sah untuk hubungan", menunjukkan bahawa Gorm tidak dapat menyertai dengan betul " Medan Lokasi" dengan kunci utama jadual "LocationDescription". Setelah meneliti kod tersebut, ternyata bahawa teg "foreignKey" dan "references" telah digunakan secara salah.
Untuk perhubungan Kepunyaan-Kepada, "foreignKey" harus menyatakan medan kunci model-lokal yang merujuk kunci utama atau unik entiti asing itu. Dalam kes ini, entiti asing ialah "LocationDescription" dan kunci utamanya ialah "ID". Oleh itu, konfigurasi yang sesuai ialah:
Location LocationDescription `json:"location,omitempty" gorm:"foreignKey:LocationID;references:ID"`
Selepas membuat pelarasan ini, ralat Gorm harus diselesaikan, membolehkan pengambilan data yang berjaya daripada pangkalan data. Ingat, adalah penting untuk memastikan bahawa kunci asing dan rujukan ditakrifkan dengan betul untuk mewujudkan hubungan yang betul antara model.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Kunci Asing dengan Betul dalam Gorm untuk Hubungan Kepunyaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!