Rumah >pembangunan bahagian belakang >Golang >Ralat Hubungan Gorm: Bagaimana untuk Mentakrifkan Kunci Asing dengan Betul dalam Teg Gorm?

Ralat Hubungan Gorm: Bagaimana untuk Mentakrifkan Kunci Asing dengan Betul dalam Teg Gorm?

DDD
DDDasal
2024-11-19 04:32:02267semak imbas

Gorm Relationship Error: How to Correctly Define Foreign Keys in Gorm Tags?

Ralat Hubungan Gorm: Mengenalpasti Isu Definisi Utama Asing

Dalam operasi Gorm, pembangun mungkin menghadapi mesej ralat yang menunjukkan keperluan untuk menentukan kunci asing yang sah atau melaksanakan Valuer/ Antara muka pengimbas untuk perhubungan. Untuk menyelesaikan ralat ini dengan berkesan, penyelesaian masalah yang menyeluruh dan pemahaman model data dan perhubungan pangkalan data adalah penting.

Dalam senario yang disediakan, model ConfigurationDescription mengandungi medan Lokasi yang bertujuan untuk mewujudkan hubungan dengan model LocationDescription. Walau bagaimanapun, Gorm tidak dapat mengesan hubungan kunci asing disebabkan oleh ketidakkonsistenan dalam teg gorm.

Setelah pemeriksaan teliti model data yang disediakan, ternyata bahawa teg untuk medan Lokasi dalam ConfigurationDescription diterbalikkan. Teg foreignKey hendaklah menyatakan kunci tempatan yang bergabung dengan entiti asing (LocationID) dan teg rujukan harus menamakan kunci utama atau unik entiti asing (ID).

Untuk membetulkan isu ini, perkara berikut konfigurasi teg yang diperbetulkan untuk medan Lokasi dalam ConfigurationDescription harus digunakan:

Location   LocationDescription `json:"location,omitempty" gorm:"foreignKey:LocationID;references:ID"`

Pelarasan ini memastikan Gorm dapat mengenal pasti perhubungan kunci asing dengan betul antara ConfigurationDescription dan LocationDescription. Setelah teg diperbetulkan, operasi Pramuat untuk memuatkan perhubungan Lokasi dalam Cari akan berfungsi seperti yang diharapkan.

Atas ialah kandungan terperinci Ralat Hubungan Gorm: Bagaimana untuk Mentakrifkan Kunci Asing dengan Betul dalam Teg Gorm?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn