Gorm 操作では、開発者は、有効な外部キーを定義するか、Valuer/ を実装する必要があることを示すエラー メッセージが表示される場合があります。リレーション用のスキャナーインターフェイス。このエラーを効果的に解決するには、徹底的なトラブルシューティングと、データ モデルとデータベースの関係の理解が重要です。
提供されたシナリオでは、ConfigurationDescription モデルには、LocationDescription モデルとの関係を確立することを目的とした Location フィールドが含まれています。ただし、Gorm タグの不一致のため、Gorm は外部キー関係を検出できません。
提供されたデータ モデルを注意深く調べると、ConfigurationDescription の Location フィールドのタグが逆になっていることがわかります。 foreignKey タグでは、外部エンティティに結合するローカル キー (LocationID) を指定する必要があり、references タグでは、外部エンティティの主キーまたは一意のキー (ID) を指定する必要があります。
この問題を修正するには、次のようにします。 ConfigurationDescription の Location フィールドの修正されたタグ構成を使用する必要があります:
Location LocationDescription `json:"location,omitempty" gorm:"foreignKey:LocationID;references:ID"`
この調整により、Gorm は ConfigurationDescription と LocationDescription の間の外部キー関係を正しく識別できるようになります。タグが修正されると、検索で位置関係をロードするためのプリロード操作が期待どおりに機能するはずです。
以上がGorm 関係エラー: Gorm タグで外部キーを正しく定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。