GORM을 사용한 다중 테이블 조인
GORM에서 다중 테이블 조인을 수행하는 것은 편리하고 간단한 프로세스입니다. 다음 시나리오를 고려하십시오.
Department, Employee 및 EmployeeContact라는 세 개의 테이블이 있고 다음 필드가 있습니다.
다중 테이블 조인과 함께 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!