Модели данных объединения PHP ATK
Например, у меня есть только 1 модель и 10 таблиц. Я хочу перенести все данные из таблиц в свою 1 модель, чтобы я мог использовать Grid/Crud
search/paginator
и т.п.
Если я использую setSource
на сетке (а не на setModel) я теряю нумерацию страниц, быстрый и расширенный поиск.
Примечание. Таблицы не имеют отношений между ними (они просто имеют одинаковые столбцы и разные данные), и мы говорим о миллионах записей. Пробовал нестандартные союзы DSQL
но это действительно медленно и у меня нет сетки в сетке.
Есть идеи?
1 ответ
Полная поддержка UnionModel теперь доступна как расширение для Agile Data. Он должен легко объединять 10 других моделей, выравнивать поля, предлагать поддержку группирования, разбивку на страницы, условия и другие функции, которые вы ожидаете от обычной модели.
UnionModel автоматически отбрасывает условия, ограничения и агрегирование до уровня отдельной модели, чтобы сделать запрос оптимальным.
Более подробная информация о UnionModel здесь:
http://www.agiletoolkit.org/data/extensions/report
Источник: http://github.com/atk4/report
Agile Data теперь является отдельной структурой, но ее можно использовать с Agile Toolkit, вам просто нужно переключиться на ветку 4.4.
Если вы предпочитаете не использовать это расширение, вам придется вручную создавать выражения и выравнивать поля подзапроса самостоятельно.