최근 GORM을 사용할 때 문제를 발견했습니다. 외래 키가 업데이트되지 않았습니다. 관련 테이블의 외래 키 필드 값을 업데이트했는데 다른 테이블에 동기적으로 업데이트되지 않았습니다. 조사와 연구를 통해 GORM이 기본적으로 외래 키 필드를 자동으로 업데이트하지 않기 때문이라는 것을 알았습니다. 이 문제는 한동안 나를 괴롭혀왔기 때문에 해결책을 모든 사람과 공유하기로 결정했습니다. 이 기사에서는 이 문제를 피하기 위해 GORM을 사용하여 외래 키 필드를 올바르게 업데이트하는 방법을 설명합니다.
책상이 2개 있는데 하나는 회사
으아악다른 하나는 product_entitlement입니다
으아악CompanyID는 외래 키입니다. CompanyID에는 Company.Id의 값이 포함됩니다
업데이트 삽입이 완료되면 매번 새로운 행이 삽입됩니다. 이것이 우리가 사용하는 코드입니다
으아악하지만 항상 실패하고 오류가 발생합니다
BD820BD3F94A2A45E18ED8E8094EF395ID가 존재하는 경우 Product_entitlement를 업데이트하고, 그렇지 않으면 새 ID를 생성하고 싶습니다
URL은 다음과 같습니다. http://localhost:8080/company/{{companyId}}/product/{{companyId}} 및 PUT 메소드 사용 몸매는
{"type": "auto"}
누군가에게 도움이 된다면 FirstOrCreate
기능을 사용하여 ID가 존재하는지 확인하고 새 ID를 만들지 않으면 업데이트할 수 있습니다.
외래 키를 할당하려면 관련 테이블에 값을 할당해야 합니다.
entitlementRequest.CompanyID = uid
위 내용은 GORM의 외래 키가 업데이트되지 않았습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!