ホームページ  >  記事  >  バックエンド開発  >  GORM の外部キーが更新されない

GORM の外部キーが更新されない

WBOY
WBOY転載
2024-02-09 11:57:071049ブラウズ

GORM 中的外键未更新

最近 GORM を使用していたときに、外部キーが更新されていないという問題が見つかりました。関連テーブルの外部キー フィールドの値を更新したときに、他のテーブルに対して同期的に更新されませんでした。調査と研究の結果、これは GORM がデフォルトで外部キー フィールドを自動的に更新しないためであることがわかりました。この問題はしばらく私を悩ませていたので、解決策をみんなと共有することにしました。この記事では、この問題を回避するために、GORM を使用して外部キー フィールドを正しく更新する方法を説明します。

質問内容

机が2つあり、1つは会社です

リーリー

もう 1 つは product_entitlement です

リーリー

CompanyID は外部キーです。 CompanyID には Company.Id

の値が含まれます

更新挿入が完了すると、毎回新しい行が挿入されます。これは私たちが使用しているコードです

リーリー

しかし、常に失敗し、エラーが発生します

BD820BD3F94A2A45E18ED8E8094EF395

ID が存在する場合は Product_entitlement を更新し、存在しない場合は新しい ID を作成したいです

URLは以下の通りです。 http://localhost:8080/company/{{companyId}}/product/{{companyId}} と PUT メソッドを使用します 本体は

です

{"Type": "Automatic"}

回避策

誰かの役に立つ場合は、FirstOrCreate 関数を使用して ID が存在するかどうかを確認し、更新することができます。存在しない場合は新しいものを作成します。

外部キーを割り当てるには、値を関連テーブルに割り当てる必要があります。

entitlementRequest.CompanyID = uid

リーリー

以上がGORM の外部キーが更新されないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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