Модель пагината CakePHP с множественной ассоциацией - PullRequest
0 голосов
/ 19 июня 2010

У меня есть три таблицы: Юниты, Предложения и Агенты со следующими ассоциациями

  • Единица имеет много предложений
  • Предложение принадлежит агенту

Когда я делю страницу на единицыТаблица Я получаю все подразделения и все соответствующие предложения для каждого подразделения, но не агент, которому принадлежит предложение.Пример:

- Unit1
  - offer1
  - offer2
- Unit2
  - offer1
  - offer2
  - offer3

И я хочу что-то вроде этого:

- Unit1
  - offer1
    - agent1
  - offer2
    - agent2
- Unit2
  - offer1
    - agent1
  - offer2
    - agent2
  - offer3
    - agent3

Как это сделать?

Ответы [ 2 ]

0 голосов
/ 21 июня 2010

Использование поведения Containable должно привести вас туда. Сейчас я никогда не использую рекурсив.

В качестве альтернативы иногда может быть полезно создать представление базы данных по интересующим таблицам. Это сделает пейджинг намного проще и позволит вам точно указать, какие данные вам нужны (избегая ненужной передачи данных).

0 голосов
/ 20 июня 2010

Самое простое решение - увеличить рекурсивную модель до вызова страницы.

$this->Unit->recursive = 1; //or more

Но вы должны быть очень осторожны, потому что вы можете вызвать одну и ту же модель дважды. Дополнительный совет: попробуйте удалить ненужные модели перед использованием. Опять же - будьте очень осторожны, потому что это может замедлить работу приложения.

...