> 백엔드 개발 > Golang > GORM을 사용하여 단일 테이블에 임베디드 구조체를 저장하는 방법은 무엇입니까?

GORM을 사용하여 단일 테이블에 임베디드 구조체를 저장하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-03 07:22:30
원래의
449명이 탐색했습니다.

How to Store an Embedded Struct in a Single Table with GORM?

GORM에 구조체를 삽입하는 방법

GORM에서 구조체를 삽입하면 그 안에 다른 구조체가 포함된 데이터 구조를 모델링할 수 있습니다. 이는 복잡한 데이터를 중첩하거나 기본 유형 내에 하위 구조를 캡슐화하는 데 유용합니다.

구조체를 포함하려면 기본 구조체를 선언하고 * 연산자를 사용하여 중첩된 구조체를 포함합니다. 그러나 GORM은 일반적으로 중첩된 각 구조에 대해 별도의 테이블을 생성하여 포함된 구조체를 처리합니다.

삽입된 구조체를 기본 테이블 내의 다른 필드로 저장하려면 gorm:"column: 태그를 사용할 수 있습니다. 이 태그는 포함된 구조체의 데이터가 저장될 열의 이름을 지정합니다.

다음 예를 고려하세요.

<code class="go">type A struct {
    Point GeoPoint `gorm:"column:point"`
}

type GeoPoint struct {
    Lat float64
    Lon float64
}</code>
로그인 후 복사

여기서 Point 필드는 포함된 GeoPoint 구조체이고 gorm:"column:point" 태그는 GeoPoint 데이터가 A 테이블의 포인트 열에 저장되도록 지정합니다. 이를 통해 포함된 구조체의 필드(예: point.Lat)를 마치 직접 필드인 것처럼 액세스하고 조작할 수 있습니다. 기본 구조체입니다.

이 접근 방식은 추가 데이터베이스 테이블을 만들지 않고도 단일 테이블에 포함된 구조를 저장할 수 있는 유연성을 제공합니다.

위 내용은 GORM을 사용하여 단일 테이블에 임베디드 구조체를 저장하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿