atk4 — Модели данных объединения 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.

Если вы предпочитаете не использовать это расширение, вам придется вручную создавать выражения и выравнивать поля подзапроса самостоятельно.

0

Другие решения

Других решений пока нет …