GORM で複数のテーブル結合を実行するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-10-24 11:44:01
オリジナル
1027 人が閲覧しました

How to Perform Multiple Table Joins in GORM?

GORM を使用した複数のテーブル結合

GORM では、複数のテーブル結合を実行するのは便利で簡単なプロセスです。次のシナリオを考えてみましょう。

Department、Employee、および EmployeeContact という 3 つのテーブルがあり、次のフィールドがあります:

  • Department: (gorm.Model, dep_name)
  • 従業員: (gorm.Model、emp_id、emp_name、部門 ID)
  • 従業員連絡先: (gorm.Model、employee_id、emp_contact_no)

複数テーブル結合で 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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート