ホームページ >バックエンド開発 >Golang >GORM: テーブルへの 2 つの外部キー

GORM: テーブルへの 2 つの外部キー

WBOY
WBOY転載
2024-02-09 18:33:081119ブラウズ

GORM: テーブルへの 2 つの外部キー

GORM をデータベース操作に使用する場合、テーブルを同時に 2 つの外部キーに関連付ける必要がある状況によく遭遇します。この場合、外部キーをどのように正しく設定して使用するかが解決すべき問題になります。この記事では、GORMを使ってテーブルの2つの外部キーを処理する方法とその注意点、実践事例をPHPエディターのゆーざいが詳しく紹介します。この記事を学ぶことで、誰もが GORM をよりよく理解し、データベース操作に使用できるようになると思います。

質問内容

ユーザー、イベント、ペアの3つのテーブルを作成したいと考えています。

一致するテーブルには、eventId、user1、user2 の 3 つの列があります。 したがって、user1 と user2 は id を介して Users テーブルを参照します。

SQL でこれを行う方法は知っていますが、ORM を使用してみたいと考えています。ドキュメントを読みましたが、これを行う方法がわかりません

リーリー

次のように gorm タグを使用して何かを実行しようとしましたが、成功しませんでした:

リーリー

また、同様のことを試してみましたが、実行時エラーが発生しました

リーリー
type User struct {
    Id       uint64 `gorm:"primarykey"`
    TGtag    string
    IsActive bool
}

type RCEvent struct {
    Id          uint64 `gorm:"primarykey"`
    DateStarted time.Time
    IsActive    bool
}

type Pair struct {
    EventId uint64
    UserID1 uint64
    UserID2 uint64
}

回避策

別の構造を外部キーとして使用するには、その ID をターゲット構造の別のフィールドとして追加する必要があります。この場合の実際の例は次のとおりです (gorm の例 # を使用) ##): リーリー

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

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