>  기사  >  백엔드 개발  >  GORM: 테이블에 대한 두 개의 외래 키

GORM: 테이블에 대한 두 개의 외래 키

WBOY
WBOY앞으로
2024-02-09 18:33:081079검색

GORM: 테이블에 대한 두 개의 외래 키

데이터베이스 작업에 GORM을 사용할 때 테이블이 동시에 두 개의 외래 키와 연결되어야 하는 상황에 자주 직면합니다. 이 경우 외래키를 어떻게 올바르게 설정하고 사용하는가가 해결해야 할 문제가 된다. 이번 글에서는 PHP 에디터 Yuzai가 GORM을 사용하여 테이블의 외래 키 2개를 처리하는 방법과 관련 주의사항, 실제 적용 사례를 자세히 소개합니다. 이 기사를 연구함으로써 모든 사람이 데이터베이스 작업에 GORM을 더 잘 이해하고 사용할 수 있다고 믿습니다.

질문 내용

사용자, 이벤트, 페어 3개의 테이블을 만들고 싶습니다.

페어링 테이블에는 eventId, user1, user2라는 세 개의 열이 있습니다. 따라서 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: 테이블에 대한 두 개의 외래 키의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제