2010-04-19 1 views
3

나는 CakePHP에 꽤 익숙하다. 그러나 나는 그것에 매달려있다. 관련 테이블 정보를 재귀 적으로 가져 오려고하지만 재귀 할 관련 모델을 지정하려고합니다. 예를 들어 내 목표를 설명해 드리겠습니다.CakePHP - 모델의 특정 필드에 재귀 적입니까?

회사 이름, 웹 사이트 등의 정보가있는 "고객"모델이 있습니다. "고객"hasMany "주소", 연락처와 같은 개별 연락처 정보가 들어 있습니다. 이름, 거리, 도시,시 /도, 국가 등 "고객"또한 belongsTo "CustomerType"이며 설명 카테고리 정보 - 이름은 "Distributor"또는 "Manufacturer"와 같은 설명입니다.

"고객"에 대한 찾기를 수행 할 때 "고객 유형"및 "주소"정보를 하위 배열로 연관시키고 싶습니다. 그리고 이것은 hasMany 및 belongsTo 연관을 올바르게 설정하여 올바르게 작동합니다. 하지만 지금, 내 문제는 다음과 같습니다. 관련 주/국가 정보를 얻고 싶습니다. 그래서, "state_id"를 갖는 각 "Address"배열 행 대신, "state"=> 배열 ("id"= 20, "name"= "New York", ...) 등을 갖기를 원합니다.

파트너 모델에서 $ recursive를 더 높은 값 (예 : 2)으로 설정하면 각 "주소"의 주/국가 정보를 얻고 싶습니다. 그러나 "CustomerType"에 대해서도 재귀가 발생하며, 그 결과 내 수천 개의 길이가 될 수있는 해당 유형과 일치하는 모든 Customer 객체가있는 "Partner"객체의 "CustomerType"필드가 생성됩니다.

"고객 유형"을 "주소"에만 재현하고 싶지는 않습니다. 내가 이것을 설정할 수있는 방법이 있니?

오랜 질문에 사과드립니다. 미리 감사드립니다.

답변

9

"포함 가능한"동작을 사용하는 것이 좋습니다. 도서의 케이크 사이트에 대한 추가 도움말을 참조하십시오. http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html

+0

빠른 응답을 보내 주셔서 감사합니다. 나는 이것에 관해 전혀 몰랐다. 그러나 그것을 가지고 놀고 난 후에 2,3 분 동안 벌써 나를 많이 도와주고있다. 감사! –