GORM 中的多個表連接
GORM 中的連接表可讓您同時從多個表中擷取相關資料。以下是如何執行涉及三個表格的聯接查詢:
表格結構
考慮以下表格結構:
範例查詢
假設您要從三個表中擷取部門ID 與員工的Department_id 相符的所有欄位,並且該員工的ID 與員工聯絡人的email_id 相符: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>
GORM 等效
<code class="go">import ( "gorm.io/gorm" ) func MultipleJoinExample(db *gorm.DB) error { type Result struct { DepartmentID uint EmployeeID uint EmployeeName string EmployeeContactNo string } var results []Result if err := db.Table("employee").Select("department.id, employee.department_id, employeeContact.employee_id, employee.emp_name, employeeContact.emp_contact_no"). Joins("JOIN department on department.id = employee.department_id"). Joins("JOIN employeeContact on employeeContact.id = employee.id"). Find(&results).Error; err != nil { return err } return nil }</code>GORM 等效
以上是如何使用 GORM 執行多個表連線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!