Рекурсивная нумерация страниц в CakePHP не работает - PullRequest
0 голосов
/ 24 января 2011

Я прошу прощения, если этот вопрос был задан и отвечен в другом месте, но я посмотрел и не смог найти его.

У меня есть три модели: Manager HABTM Tenant

У меня также есть модель ManagersTenant, чтобы связать их вместе.

Я пытаюсь использовать нумерацию страниц для рекурсивного отображения полей из Manager и Tenant в контроллере ManagersTenant.Вот мой код:

$this->ManagersTenant->recursive = 2;

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

Отображает только поля в ManagersTenant (id, tenant_id, manager_id), но не извлекает данные из связанных моделей Manager и Tenant.

Я также делаю debug($this->ManagersTenant->find('all'));, который отлично выполняет рекурсию и отображает правильные массивы.

Чтоя делаю не так?Нужно ли делать что-то особенное с моими моделями?

Любая помощь очень ценится.

// edit:

То, что я пытаюсь сделать, этоотображать все совпадения, где Tenant_id или Manager_id совпадает с идентификатором вошедшего в систему пользователя.Например, если вошедший в систему Manager выполняет функцию index на модели Tenant, я бы хотел, чтобы все Tenants отображались для Tenant_id, где Manager_id (в модели ManagersTenant) == $this->Auth->User('id').У меня сложилось впечатление, что для этого мне пришлось использовать таблицу HABTM.Но если я могу обойтись без Manager HABTM Tenant без присоединяющегося стола, я полностью за это попробую.

1 Ответ

0 голосов
/ 24 января 2011

Возможно, вам не нужно определять модель ManagersTenant.Вы должны определить HABTM в Manager и в модели Tenant и использовать эти модели для своего запроса.

Если вам действительно нужна модель ManagersTenant, вам следует использовать модель соединения отношение:

  • Менеджер имеет много менеджеров-арендаторов
  • Арендатор имеет много менеджеров-арендаторов
  • Менеджеры-арендатор принадлежит менеджеру и арендатору.
...