首頁 > 後端開發 > Golang > 主體

如何在 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)
  • 員工聯絡人:(gorm.Model、emp_id、Modeno、emp_id、)

要使用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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板