Berbilang Jadual Bercantum dalam GORM
Menyertai jadual dalam GORM membolehkan anda mendapatkan semula data berkaitan daripada berbilang jadual secara serentak. Begini cara melaksanakan pertanyaan gabungan yang melibatkan tiga jadual:
Struktur Jadual
Pertimbangkan struktur jadual berikut:
Contoh Pertanyaan
Andaikan anda ingin mendapatkan semula semua lajur daripada tiga jadual di mana ID jabatan sepadan dengan jabatan_id pekerja, dan ID pekerja itu sepadan dengan id_pekerjaHubungi:
Pertanyaan 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 Equivalent
<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>
Dalam contoh ini:
Atas ialah kandungan terperinci Bagaimana untuk Melakukan Gabungan Jadual Berbilang dengan GORM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!