Diagnosis dan Penyelesaian Ralat Hubungan Gorm
Apabila mengakses pangkalan data Gorm, anda mungkin menghadapi ralat yang menyatakan, "perlu menentukan asing yang sah kunci untuk perhubungan atau ia perlu melaksanakan antara muka Penilai/Pengimbas." Isu ini timbul apabila terdapat ketidakpadanan dalam hubungan kunci asing antara model data dan jadual pangkalan data yang sepadan.
Dalam kes anda, ralat berlaku untuk hubungan antara ConfigurationDescription dan LocationDescription. Medan Lokasi dalam ConfigurationDescription nampaknya diisytiharkan dengan betul, dengan atribut foreignKey dan rujukan ditetapkan. Walau bagaimanapun, apabila diperiksa dengan lebih teliti, ia menjadi jelas bahawa teg diterbalikkan.
Untuk corak perhubungan Kepunyaan-Kepada, atribut foreignKey harus menamakan medan kunci tempatan model yang bercantum dengan entiti asing dan rujukan atribut harus menamakan kunci utama atau unik entiti asing. Dalam kes ini, foreignKey hendaklah LocationID dan rujukannya hendaklah ID.
Untuk menyelesaikan isu, ubah suai struct ConfigurationDescription seperti berikut:
type ConfigurationDescription struct { ID int `json:"configurationID"` Name string `json:"name"` IsActive bool `json:"isActive"` LocationID int `json:"-" gorm:"foreignKey:LocationID"` Location LocationDescription `json:"location,omitempty" gorm:"references:ID"` }
Dengan pelarasan ini, foreign perhubungan utama antara ConfigurationDescription dan LocationDescription harus diwujudkan dengan betul, membolehkan Gorm memuatkan data seperti yang diharapkan.
Atas ialah kandungan terperinci Ralat Hubungan Gorm: Bagaimana untuk Membetulkan \'perlu menentukan kunci asing yang sah untuk hubungan\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!