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!