ホームページ >バックエンド開発 >Golang >GORM は結果のリスト、または ID ごとにグループ化された結果のグラフを返します。

GORM は結果のリスト、または ID ごとにグループ化された結果のグラフを返します。

王林
王林転載
2024-02-12 11:54:081214ブラウズ

GORM 返回结果列表或按 id 分组的结果图

php エディタ Xinyi は今日、ID ごとにグループ化された結果リストまたは結果グラフを返す GORM の重要な機能を紹介します。 GORM は、データベースのクエリと操作のための豊富なメソッドを提供する強力なデータベース アクセス ライブラリです。 GORM を使用すると、データベースから結果のリストを簡単に取得でき、ID ごとにグループ化して結果のグラフを返すこともできます。この関数は実際の開発において非常に実用的で、データベース クエリの結果をより便利に処理するのに役立ちます。次に、GORM を使用してこの機能を実装する方法を学びましょう。

質問の内容

基本的に、gormdbを使用すると、現在のコードは次のようになります:

リーリー

res で私がやったことは、同じ task_id を持つモデルを手動でループしてリストに追加し、このリストを処理対象に追加することです。これを行う必要がある理由は、抽出する必要がある特定の列に対して特定の操作を実行する必要があり、これらの操作は gorm では実行できないためです。

ただし、これをより効率的に行う方法はありますか。リストのリストのようにそれを返し、for ループを実行して各リスト要素に対して操作を実行できるでしょうか。

回避策

次のコード スニペットを使用すると、ニーズを達成できるはずです。 リーリー

初期設定が完了したら、クエリ部分を詳しく見てみましょう。

まず、テーブルからすべてのレコードを取得します。取得したレコードは
rows 変数に保存されます。
for ループでは、すべてのレコードをスキャンします。各レコードは、新しいマップ エントリとして追加されるか、taskid がマップにすでに存在する場合は既存のエントリに追加されます。 これは、特定の列 (
taskid など) に基づいてさまざまなリストを作成する最も簡単な方法です。実際、私の理解では、集計関数 (countsum など) を使用してレコードをグループ化するのではなく、レコードを分割する必要があります。 私が追加した他のコードは、わかりやすくするためのものです。
これで問題が解決した場合、または他に何か必要な場合は、お知らせください。ありがとうございます。

以上がGORM は結果のリスト、または ID ごとにグループ化された結果のグラフを返します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。