ホームページ  >  記事  >  バックエンド開発  >  Gorm のプリロードにより曖昧な列エラーが発生する

Gorm のプリロードにより曖昧な列エラーが発生する

王林
王林転載
2024-02-10 19:12:07526ブラウズ

Gorm 预加载给出了不明确的列错误

php エディター Zimo は、Gorm のプリロードにおけるあいまいな列エラーを紹介します。 Gorm は、データベース操作を実装するために Go 言語で一般的に使用される ORM ライブラリです。 Gorm をプリロードに使用すると、あいまいな列エラーが発生することがあります。このエラーの原因としては、データベース テーブルの構造が Gorm モデル定義と矛盾しているか、プリロードされた関連付けテーブルの列名が正しくないことが考えられます。この問題の解決策は、データベース テーブル構造と Gorm モデル定義をチェックして一貫性があることを確認し、プリロードされた関連付けテーブルの列名が正しいことを再確認することです。このエラーを解決すると、Gorm を使用してプリロード操作を正常に実行でき、データベース操作の効率が向上します。

質問内容

次のような構造になっています

リーリー

生成されたクエリは

です リーリー

上記の関数で書いたのと同様の接続があります。ここでは正しく接続できませんが、実際の場合は接続する必要があり、プリロード テーブルと結合テーブルの両方に id フィールドがあることがわかっています。 両方のテーブルが同じ列名、つまり id を持っているため、この場合、mysql はエラー

をスローします。

エラー 1052: where 句の列 "id" があいまいです

この問題は gorm v1.9.16

で発生しました

同様の問題について言及したリソースは見つかりませんでした。 この問題をどうやって解決すればよいでしょうか?

回避策

最新バージョン (> v1.20.x) を使用してみてはいかがでしょうか?

この問題は終了しましたhttps://github.com/go-gorm/ gorm/issue/2653

この問題は新しいバージョンで解決されるようですhttps://github.com/go-gorm/gorm/commit/2ae0653af2bc19cd31f687e797b189c85f0ac3f6

以上がGorm のプリロードにより曖昧な列エラーが発生するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。