ホームページ  >  に質問  >  本文

Golang GORM は、多対多のリレーションシップのデータ取得と結合テーブル クエリを実装します。

私は golang 1.19 と ORM を GORM として使用します。カテゴリ ID を使用して製品を取得する必要があります。製品テーブルとカテゴリ テーブルは多対多の関係にバインドされています。したがって、3 番目のテーブルは product_categories です。

私がしなければならないことは、取得リクエストにカテゴリ ID が付いている場合、そのカテゴリ ID を持つ製品を取得する必要があることです。

以下のモデル構造を参照してください。

リーリー リーリー リーリー

これを実現するために別の方法を使用しています。これは問題なく機能しますが、多対多の場合には最良のアプローチではないと思います。まず ProductCategory を取得し、次にそれをループして product id を取得し、それをスライスに追加し、それらの製品 ID を使用して products を取得します。

以下のコードをチェックしてください。

リーリー

GORM の多対多の関係を使用して、私のシナリオに適した製品を入手する最良の方法は何ですか?

P粉908138620P粉908138620289日前426

全員に返信(1)返信します

  • P粉446800329

    P粉4468003292024-01-05 09:38:22

    これを設定していないため確認できませんが、 https://gorm.io/docs/many_to_many.html とプリロードの考え方に基づいて、目的の ID カテゴリ エンティティを含むファイルを作成し、そのカテゴリに製品をプリロードできる必要があります。例:

    リーリー

    返事
    0
  • キャンセル返事