>백엔드 개발 >Golang >go-gorm은 다중 비트 필드를 쿼리합니다.

go-gorm은 다중 비트 필드를 쿼리합니다.

王林
王林앞으로
2024-02-09 20:03:09718검색

go-gorm 查询多位字段

PHP 개발에서 데이터베이스 작업은 매우 일반적인 작업입니다. 데이터베이스 작업에서는 여러 필드를 쿼리하는 것이 일반적인 요구 사항입니다. 이러한 요구에 부응하여 go-gorm은 개발자가 여러 필드를 빠르고 효율적으로 쿼리하는 데 도움이 되는 강력한 ORM 라이브러리입니다. 이 기사에서 PHP 편집자 Xinyi는 go-gorm에서 여러 필드를 쿼리하는 방법을 소개하고 이 기술을 쉽게 익힐 수 있도록 해당 샘플 코드를 제공합니다. 당신이 초보자이건 숙련된 개발자이건 간에 이 글은 귀중한 도움과 지침을 제공할 수 있습니다. 한 번 보자!

질문 내용

저는 다음과 같은 모델을 가지고 있습니다:

으아아아

하나 이상의 환경으로 비밀을 생성하면 environment_secrets 테이블은 동일한 비밀을 공유하는 환경 수에 따라 하나 이상의 행을 생성합니다.

으아아아

내가 하고 싶은 일은 secrets 表中的 environments 필드를 쿼리하는 것입니다.

내가 겪고 있는 문제는 Preload 将数据插入 environments 字段,但在 Find절 동안에는 사용할 수 없는 것 같다는 것입니다.

으아아아

간단히 다음 쿼리를 작성하려고 합니다. 在“secrets”表中,查找拥有这些秘密的匹配 userId,并查看秘密中关联的“environments.id”字段以查找匹配的 UUID特定环境 UUID(它也将由该用户拥有).

예를 들어, 이 92a4c405-f4f7-44d9-92df-76bd8a9ac3a6 用户 UUID 查询 secrets 以检查所有权,并使用此 cff8d599-3822-474d-a980-fb054fb9 进行查询23ccEnvironment UUID를 사용하면 결과 출력은 다음과 같아야 합니다...

으아아아

JOIN 쿼리 또는 쿼리용으로 environments 行数据在 secrets에서 사용할 수 있는 원시 SQL 쿼리가 있습니까?

해결 방법

은 좋지 않지만 이 raw dog GORM SQL 쿼리는 예상대로 작동합니다.

으아아아

쿼리는 다음과 같이 이해될 수 있습니다...

다음을 사용하여 비밀을 r (结果),其中 environments 필드로 집계합니다.

  • 여러 쌍의 테이블 비밀 ID와 일치하는 비밀 ID
  • 다중 테이블 환경 ID 매칭 환경 ID
  • 그리고 매개변수 사용자 ID와 일치하는 비밀 사용자 ID를 기반으로 필터링합니다

r (结果)中查找 environments JSON 数组中的部分参数化 id에서.

그리고 go Fiber를 사용한 Go 코드의 예:

으아아아

위 내용은 go-gorm은 다중 비트 필드를 쿼리합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제