使用 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中文網其他相關文章!