>  기사  >  백엔드 개발  >  Gorm은 중첩 테이블의 조건에 따라 테이블에서 모든 데이터를 가져옵니다.

Gorm은 중첩 테이블의 조건에 따라 테이블에서 모든 데이터를 가져옵니다.

王林
王林앞으로
2024-02-10 12:42:08610검색

Gorm 根据嵌套表的条件从表中获取所有数据

PHP 편집기 Xigua가 효율적인 데이터 수집 방법인 Gorm을 소개합니다. Gorm은 데이터베이스와 쉽게 상호 작용할 수 있게 해주는 Golang 기반 ORM 라이브러리입니다. Gorm을 사용하면 지루한 수동 쿼리 없이 중첩 테이블의 조건을 기반으로 테이블의 모든 데이터를 가져올 수 있습니다. 이 방법은 코드를 단순화할 뿐만 아니라 쿼리 효율성도 향상시켜 개발자가 보다 편리하게 데이터를 조작할 수 있게 해줍니다. 초보자와 숙련된 개발자 모두 Gorm을 사용하여 데이터 수집 기능을 쉽게 구현할 수 있습니다.

질문 내용

다음과 같은 golang 구조의 테이블이 있습니다:

으아아아

gorm을 통해 계정 ID 조건이 있는 모든 주문을 받는 방법은 무엇입니까? 나는 시도했다:

으아아아

하지만 작동하지 않습니다.

해결 방법

솔루션은 제공한 구조 정의에 따라 작동해야 합니다. 먼저 코드를 보여주고 각 단계를 살펴보겠습니다.

으아아아

코드를 자세히 살펴보겠습니다.

구조 정의

여기서는 아무것도 바뀌지 않았습니다. 구조를 선언할 때 gorm은 이를 기반으로 관계, 외래 키 및 제약 조건을 생성하므로 gorm 규칙을 이해해야 합니다.

데이터베이스 준비

여기에서 postgres에 대한 연결, 테이블 동기화를 위한 자동 마이그레이션 명령 및 일부 더미 데이터 삽입을 찾을 수 있습니다.

쿼리

여기에서는 go의 gorm 패키지에서 제공하는 다양한 방법을 사용합니다. 짧은 목록으로 검토해 보겠습니다.

  • debug: 원시 SQL 쿼리를 콘솔에 인쇄합니다. 복잡한 쿼리를 처리할 때 매우 유용합니다
  • preload: 관련 엔터티를 로드하지만 gorm
  • 에서 생성된 최종 쿼리에는 포함하지 마세요.
  • joins:它指定在 join 子句中必须引用哪些表。使用 joins 이 절을 쿼리에 추가합니다.
  • first:它既用于仅获取一条记录,也用于指定一些过滤器,例如我们的例子(例如 a.id = ?).

문제가 해결되면 알려주세요. 감사합니다!

위 내용은 Gorm은 중첩 테이블의 조건에 따라 테이블에서 모든 데이터를 가져옵니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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