2011-12-08 3 views
0

나는 주택 단위를 표시하는 응용 프로그램을 작성하고 있습니다 (임대를 제공하는 사용자가 나열 함). 나는 Cakephp에서 나의 유닛 모델을 정의하는 방법을 알아 내려하고있다. 세 가지 테이블이 있습니다 : 단위, 단지 및 사용자.두 개 이상의 테이블에 가입 cakephp

나는 $ belongsTo 'User'단위를 알고 있지만 모든 복합체는 많은 단위를 가질 수 있기 때문에 'Complex'에도 속한다. 이것을 쓸 수 있을까요?

<?php 
    class Unit extends AppModel { 
     var $name='Unit'; 
     var $belongsTo=array('User', 'Complex'); 

} ?>

나는 또한 내가 사용자가 많은 단지를 가질 수 있고 복잡한 많은 사용자를 가질 수로, 사용자 및 단지 내 클래스를 정의하는 방법을 잘 모르겠습니다 것을 추가해야합니다. 그 중 하나가 있다면 그것은 또한 속할 수 있습니다. HABTM입니까? 나는 매우 혼란 스럽다 (초보자).

답변

0

사용자와 같은 소리에는 많은 복합물이 있고 복합물은 많은 사용자에 속합니다. 이것은 HABTM입니다.

사용자는 여러 개의 유닛을 가질 수 있지만 유닛에는 하나의 사용자 만있을 수 있습니다. 이것은 hasMany 및 belongsTo입니다.

이제 유닛과 컴플렉스 사이의 관계에 대해 컴플렉스가 많은 유닛을 가질 수 있다면 hasMany가됩니다. 나는 그것이 사실이라고 생각할 것이다. 나는 또한 한 유닛이 사용자뿐만 아니라 복합체에 속한다고 추측한다. 이건 괜찮아. 유닛은 HABTM을 필요로하지 않거나 필요없이 사용자와 컴플렉스 모두에 속할 수 있습니다.

그래서 저는 위에 당신과의 관계를 정의했습니다. 이미 hasMany 및 belongsTo를 정의하는 방법을 알고있는 것처럼 보이므로이 페이지에서 설명한대로 HABTM을 설정해야합니다. (데이터베이스에 여분의 테이블이 필요하며 데이터베이스를 추가하는 것을 잊지 마십시오. 다른 관계들에 대해서 필요한 컬럼들).

http://book.cakephp.org/view/1044/hasAndBelongsToMany-HABTM

행운을 빕니다.

+0

답장을 보내 주셔서 감사합니다. 나는 사용자가 많은 유닛을 가질 수 있지만 각 유닛은 하나의 사용자 만 가질 수 있다고 말하고 싶다. 그래서 나는 이것이 habtm이 아니라고 말할 것입니다, 맞습니까? – huzzah

+0

맞습니다. 나는 그것을 반영하기 위해 나의 대답을 업데이트했다. 내 대답이 도움이되었다고 생각되면 응답으로 표시하는 것이 좋습니다 (투표 수 왼쪽에있는 확인란). – swiecki