GORM에서 여러 테이블 조인을 수행하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-10-24 11:44:01
원래의
1032명이 탐색했습니다.

How to Perform Multiple Table Joins in GORM?

GORM을 사용한 다중 테이블 조인

GORM에서 다중 테이블 조인을 수행하는 것은 편리하고 간단한 프로세스입니다. 다음 시나리오를 고려하십시오.

Department, Employee 및 EmployeeContact라는 세 개의 테이블이 있고 다음 필드가 있습니다.

  • Department: (gorm.Model, dep_name)
  • 직원: (gorm.Model, emp_id, emp_name, Department_id)
  • EmployeeContact: (gorm.Model, Emp_id, emp_contact_no)

다중 테이블 조인과 함께 GORM을 사용하여 이러한 테이블을 쿼리하려면 다음 단계를 따르세요.

<code class="go">if err := db.Table("employee").Select("department.id, employee.department_id, employeeContact.employee_id").Joins("JOIN department on department.id = employee.department_id").Joins("JOIN employeeContact on employeeContact.id = employee.id").Find(&results).Error; err != nil {
    return err, ""
}</code>
로그인 후 복사

조인된 테이블 이름과 해당 관계를 지정하면 GORM이 자동으로 필요한 SQL 쿼리. 이 예에서는 다음 SQL 쿼리가 생성됩니다.

<code class="sql">SELECT * FROM department d, employee e, employeeContact ec WHERE d.id = e.department_id and e.id = ec.employee_id</code>
로그인 후 복사

Find 메서드는 관련 Go 구조체의 인스턴스로 결과 조각을 채우므로 결합된 데이터에 쉽게 액세스할 수 있습니다.

위 내용은 GORM에서 여러 테이블 조인을 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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