GORM を使用した複数のテーブル結合
GORM では、複数のテーブル結合を実行するのは便利で簡単なプロセスです。次のシナリオを考えてみましょう。
Department、Employee、および EmployeeContact という 3 つのテーブルがあり、次のフィールドがあります:
複数テーブル結合で 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 中国語 Web サイトの他の関連記事を参照してください。