내 응용 프로그램에는 두 개의 테이블 인 사용자 및 프로필이 있습니다. 사용자에게는 프로필이 있고 프로필은 사용자에게 속합니다. 내가 이것을 한 이유는 테이블을 단순하게 유지하고 컨트롤러를 각각 작게 유지하기 위해서였습니다. UserController는 로그인을 처리하고 패스워드를 잊어 버렸으며 ProfileController는 편집, 프로필보기 등을 처리합니다.CakePHP : 별도의 테이블에있는 사용자 및 프로필
이제 다른 모델과 링크 할 때. 게시물이나 코멘트 또는 친구들 내가 딜레마에 빠졌습니다!
현재 user_id 외래 키를 통해 사용자에게 Posta와 Comments를 보낸 다음 쿼리에 포함되어있는 프로필 정보를 가져 오지만, 프로필 ID를 통해 친구로 연결됩니다.
그래서 더 나은 옵션은 무엇입니까? 프로필 ID를 통해 연결하는 것이 더 적절하고 미래에 사용자가 그룹이나 페이지 (Facebook을 생각하면)가 있으면 프로필에 연결된 항목과 무엇이 무엇인지 구분하는 것이 어려울 것입니다. 동일한 사용자의 그룹 또는 페이지에 연결되어 있습니다.
이것은 약간 열린 질문이지만, 다른 사람들이 생각, 특히 성능 및 코드 효율성을 공유 할 수 있다면 도움이 될만한 내용입니다.
사용자 HasOne 프로필은 내 설정입니다. 사용자는 하나만 가질 수 있습니다. 그래서 당신이 두 개의 모델로 그들의 기능을 분리한다면 당신은 HasMany 관계를 만들어서는 안됩니다. 심지어 기본 키와 동일한 ID를 사용합니다 (프로필은 사용자의 프로필을 사용합니다). 이렇게하면 조인이 매우 간단하고 오버 헤드가 거의 없습니다. – mark