go-gorm は複数ビットのフィールドをクエリします

王林
リリース: 2024-02-09 20:03:09
転載
655 人が閲覧しました

go-gorm 查询多位字段

PHP 開発では、データベース操作は非常に一般的なタスクです。データベース操作では、複数のフィールドをクエリすることが一般的な要件です。この需要に応えて、 go-gorm は開発者が複数のフィールドを迅速かつ効率的にクエリできるようにする強力な ORM ライブラリです。この記事では、PHP エディターの Xinyi が、go-gorm で複数のフィールドをクエリする方法を紹介し、このテクニックを簡単にマスターできるように、対応するサンプル コードを示します。初心者でも経験豊富な開発者でも、この記事は貴重なヘルプとガイダンスを提供します。見てみましょう!

質問内容

以下のモデルを所有しています:

リーリー

1 つ以上の環境でシークレットを作成すると、environment_secrets テーブルは、同じシークレットを共有する環境の数に基づいて 1 つ以上の行を作成します。 リーリー

私がやりたいのは、

secrets テーブルの environments フィールドをクエリすることです。

私が抱えている問題は、

Preloadenvironments フィールドにデータを挿入する間、そのデータが Find 句中に使用できないように見えることです。 : リーリー

簡単に言うと、次のクエリを作成しようとしています。

「シークレット」テーブルで、これらのシークレットを所有する一致する userId を探し、シークレット内の関連する「environments.id」フィールドを調べます。一致する UUID を検索します 特定の環境 UUID (このユーザーも所有します)

たとえば、この

92a4c405-f4f7-44d9-92df-76bd8a9ac3a6 ユーザー UUID クエリ secrets を使用して所有権を確認し、この cff8d599-3822-474d を使用するとします。 - a980-fb054fb9 は 23cc 環境 UUID をクエリします。結果の出力は次のようになります... リーリー

environments 行のデータを secrets でクエリに使用できるように作成できる JOIN クエリまたは生の SQL クエリはありますか?

回避策

あまりきれいではありませんが、この生の GORM SQL クエリは期待どおりに動作します。 リーリー

クエリは次のように理解できます...

シークレットを

r

(結果) に集約します。environments フィールドには次の内容が含まれます:

テーブル シークレット ID の複数のペアに一致するシークレット ID
  • 環境 ID と一致するマルチテーブル環境 ID
  • パラメータのユーザー ID に一致するシークレット ユーザー ID に基づいてフィルタリングします
r

から environments JSON 配列内の部分的なパラメーター化された id を見つけます (結果)。 および

go Fiber

を使用した Go コードの例: リーリー

以上がgo-gorm は複数ビットのフィールドをクエリしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!