2011-01-23 6 views
0

이 질문에 답을하고 다른 곳에서 대답했지만 사과를 찾지 못해 사과 드리면 사과드립니다. Manager HABTM 나는 또한 함께 두 넥타이하는 ManagersTenant 모델이 TenantCakePHP의 재귀 페이지 매김이 작동하지 않습니다.

:

나는 세 가지 모델이있다.

ManagerTenant의 필드를 재귀 적으로 표시하려면 ManagersTenant 컨트롤러에 페이지 매김을 사용하려고합니다.

$this->ManagersTenant->recursive = 2;

$this->set('managersTenants', $this->paginate('ManagersTenant',array(),array('recursive'=>2)));

ManagersTenant (id, tenant_id, manager_id)의 필드 만 표시하지만 관련 ManagerTenant 모델에서 데이터를 검색하지 않습니다 여기 내 코드입니다.

나는 또한 재귀를 완벽하게 수행하고 올바른 배열을 표시하는 debug($this->ManagersTenant->find('all'));을 수행하고 있습니다.

내가 뭘 잘못하고 있니? 내 모델과 관련하여 특별한 조치를 취해야합니까?

도움을 주시면 감사하겠습니다.

// 편집 :

난 할 노력하고있어 것은 Tenant_id 또는 Manager_id은 로그인 한 사용자의 ID와 일치하는 모든 일치를 표시합니다. 모든 Tenants는 == $this->Auth->User('id')합니다 (ManagersTenant 모델) Tenant_idManager_id 표시 될 수 있도록 예를 들어, A가 로그인 한 경우 ManagerTenant 모델에 index 기능을 수행하고, I는 싶다. 나는 이것을하기 위해 HABTM 테이블을 활용해야한다는 인상하에있었습니다. 하지만 내가 합치기 테이블없이 Manager HABTM Tenant을 할 수 있다면, 나는 그것을 시험해 보는 것 모두입니다.

답변

0

아마도 ManagersTenant 모델을 정의 할 필요는 없습니다. Manager 및 Tenant 모델에서 HABTM을 정의하고 해당 모델을 쿼리에 사용해야합니다.

  • 관리자 hasMany의 ManagersTenant
  • 입주 hasMany의 ManagersTenant
  • ManagersTenant belongsTo를 관리자 및 거주자 : 당신이 정말 ManagersTenant 모델이 필요하면

    당신은 join model 관계를 사용해야합니다.

+0

'Manager' HABTM 'Tenant' 관계를 처리하기 위해'ManagersTenant' 모델을 가져야한다고 생각했습니다. 필자는 앱의 다른 부분에서 조인 모델을 필요로 할 것이지만 재귀가 관련 모델에서 데이터를 가져 오기를 기대하고 있습니다. find()를 할 때 페이지 매김을 사용하지 않는 이유는 무엇입니까? – Ben

+0

나는'ManagersTenant' 모델 대신에'Tenant' 모델을 사용하고 재귀가 작동하는 것처럼 당신의 제안을 시도했다. 유일한 문제는 'containable'이 작동하지 않는 것입니다. – Ben

+0

containable은 HABTM과 함께 작동해야합니다. 예제를 확인하십시오. http://book.cakephp.org/view/1323/Containable – Adam

관련 문제