>  기사  >  백엔드 개발  >  Gorm 사전 로드로 인해 모호한 열 오류 발생

Gorm 사전 로드로 인해 모호한 열 오류 발생

王林
王林앞으로
2024-02-10 19:12:07526검색

Gorm 预加载给出了不明确的列错误

PHP 편집자 Zimo가 Gorm 사전 로딩의 모호한 목록 오류를 소개합니다. Gorm은 데이터베이스 작업을 구현하기 위해 Go 언어에서 일반적으로 사용되는 ORM 라이브러리입니다. 미리 로드하기 위해 Gorm을 사용할 때 때때로 모호한 열 오류가 발생합니다. 이 오류가 발생하는 이유는 데이터베이스 테이블 구조가 Gorm 모델 정의와 일치하지 않거나 미리 로드된 연관 테이블 열 이름이 올바르지 않기 때문일 수 있습니다. 이 문제에 대한 해결책은 데이터베이스 테이블 구조와 Gorm 모델 정의가 일치하는지 확인하고, 미리 로드된 연관 테이블 열 이름이 올바른지 다시 확인하는 것입니다. 이 오류를 해결하면 사전 로드 작업에 Gorm을 성공적으로 사용할 수 있으며 데이터베이스 작업 효율성을 향상시킬 수 있습니다.

질문 내용

다음과 같은 구조를 가지고 있습니다

으아악

생성된 쿼리는

으아악

위 함수에 쓴 내용과 비슷한 연결이 있습니다. 여기서는 제대로 연결이 안되는데 실제 경우에는 연결이 필요한 것으로 알고 있고, preload 테이블과 Join 테이블 모두에 id 필드가 있습니다. 두 테이블 모두 동일한 열 이름을 갖기 때문에 즉, id이 경우 mysql에서 오류가 발생합니다

错误1052:where子句中的列“id”不明确

이 문제는 gorm v1.9.16

에서 발생합니다.

비슷한 문제를 언급한 자료를 찾지 못했습니다. 이 문제를 어떻게 해결합니까?

해결 방법

최신 버전(> v1.20.x)을 사용해 볼 수 있나요?

이 이슈는 마감되었습니다https://github.com/go-gorm/gorm/issue/2653

이 문제는 새 버전에서 해결된 것 같습니다https://github.com/go-gorm/gorm/commit/2ae0653af2bc19cd31f687e797b189c85f0ac3f6

위 내용은 Gorm 사전 로드로 인해 모호한 열 오류 발생의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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