Heim >Backend-Entwicklung >Golang >Wie führt man mit GORM mehrere Tabellenverknüpfungen durch?
Mehrere Tabellenverknüpfungen in GORM
Durch das Verknüpfen von Tabellen in GORM können Sie verwandte Daten aus mehreren Tabellen gleichzeitig abrufen. So führen Sie eine Join-Abfrage mit drei Tabellen durch:
Tabellenstruktur
Beachten Sie die folgende Tabellenstruktur:
Beispielabfrage
Angenommen, Sie möchten alle Spalten aus den drei Tabellen abrufen, in denen die ID einer Abteilung mit der Abteilungs-ID eines Mitarbeiters übereinstimmt, und Die ID dieses Mitarbeiters stimmt mit der Mitarbeiter-ID eines Mitarbeiterkontakts überein:
SQL-Abfrage:
<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-Äquivalent
<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>
In dieses Beispiel:
Das obige ist der detaillierte Inhalt vonWie führt man mit GORM mehrere Tabellenverknüpfungen durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!