Paingation в CakePHP с таблицами HABTM связями

Основная проблема для меня в CakePHP — это осуществление pagination штатными средствами для таблиц связанных HABTM.

Не знаю как лучше — назвать эту заметку переводом, или расширенным переводом. Я использую две статьи, плюс свои плюшки. Поэтому ссылки я проставлю, а перевод это, или компиляция — не столь важно, как мне кажется.

После недолгого шуршания по Интернету я нашёл решение вот по этому адресу: Pagination for HABTM. Хочу отметить что решение работает и для последней (на текущий момент) версии CakePHP 1.3.4.

Однако тут есть нюанс, который очень сильно портит малину. Если элемент связан с несколькими другими, то штатный педжинатор неправильно считает количество элементов, потому как они дублируются. Но и для этого есть решение DISTINCT in pagination.

Итак, переходим к задаче.

Читать дальше →