CakePHP: разбиение на страницы, сортировка, фильтрация данных из кэшированных таблиц - PullRequest
1 голос
/ 18 января 2012

Я пытаюсь использовать собственные методы кэширования Cake для кэширования некоторых данных, которые мне понадобятся для разбивки на страницы, сортировки и обработки (поиска), поэтому я кеширую массивы данных, а не представления или разбитые на страницы массивы / представления.Насколько я вижу, компоненты поиска / фильтрации и Paginator запрашивают только базу данных, чего я не хочу.Можно ли как-нибудь собрать их в Cake?Заранее спасибо за любой ответ.

1 Ответ

0 голосов
/ 18 января 2012

Вы правы, предполагая, что Cake всегда ожидает, что результат базы данных будет разбит на страницы. Одним из самых простых решений является рефакторинг такого класса, как этот , в помощник (для разбивки на страницы) или в компонент (для фильтрации) и передать помощнику / компоненту ваши массивы данных (больше информации о пользовательских помощники и компоненты ). Единственным недостатком этого является то, что ваше приложение должно считывать кэшированные массивы в память перед созданием разбитого на страницы набора результатов.

Есть также эта статья , но я не уверен, применимо ли это к вашей настройке.

Другим вариантом может быть написание собственного источника данных для кэшированных массивов данных, , но документация Cake по этому вопросу немного скудна. Я занимался созданием источника данных для некоторых пользовательских XML-каналов, но никогда не удосужился добавить нумерацию страниц. Из сторонних источников данных, плавающих вокруг, я не уверен, возможно ли это вообще.

...