PHP 개발에서 데이터베이스 운영은 빼놓을 수 없는 부분입니다. 데이터베이스 운영 프레임워크인 GORM은 유연성과 강력한 기능으로 항상 개발자들의 선호를 받아왔습니다. 다대다 관계 처리 측면에서 GORM은 열 구성을 사용자 정의하는 기능을 제공하므로 개발자는 데이터 테이블 간의 관계를 보다 정확하게 제어할 수 있습니다. 이 기사에서는 PHP 편집기 Xigua가 GORM의 사용자 정의 열 구성 기능을 사용하여 다대다 관계를 처리하는 방법을 자세히 소개합니다. 도움이 되기를 바랍니다.
저는 다음 2개의 모델을 가지고 있습니다:
으아악저는 이미 residue_residue_categories
테이블을 가지고 있습니다. 하지만 이 열은 다음과 같습니다.
추가 연결을 만들고 싶습니다. 예:
으아악그러나 SQL은 다음을 생성합니다:
으아악보시다시피 삽입 SQL의 열 이름이 올바르지 않습니다.
다음과 같은 다른 필드를 구성해 보았습니다.
으아악 으아악근데 이상하게도 gorm은 간단하게 getbyid
中抛出: invalid 外键:residualid
(관계를 추가하기 전)로 처리합니다. 이러한 사용자 정의 열 이름과의 관계를 어떻게 구성합니까?
저는 여러분의 문제를 해결하기 위해 작은 예를 만들었습니다. 먼저 코드를 공유한 다음 코드의 모든 관련 부분을 안내해 드리겠습니다.
으아악이제 각 부분을 자세히 살펴보겠습니다.
구조의 정의가 많이 바뀌었습니다. 조인 테이블의 정의를 삽입하고 해당 열 이름을 덮어써야 합니다.
완전성을 위해 정의를 추가하는 것이므로 조인 테이블이 데이터베이스에 이미 있는 경우 무시해도 됩니다.
또 다른 변화는 데이터베이스에 데이터를 삽입하는 방법입니다. 먼저 상위 테이블(residues
및 residue_categories
)에 데이터를 삽입한 다음 residues
和 residue_categories
)中插入数据,然后您可以在 residue_residue_categories
조인 테이블에 연결을 추가할 수 있습니다.
디버거를 연결하지 않고 코드를 실행하더라도 데이터베이스로 전송된 SQL 문을 표시하기 위해 debug()
메서드를 추가했습니다.
논리를 간신히 보기 위해 일부 값을 프로그램에 하드코딩했지만 자신의 논리에 쉽게 적응할 수 있을 것입니다.
문제가 해결되면 알려주세요. 감사합니다!
위 내용은 GORM은 사용자 정의 열을 사용하여 다대다 구성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!