CakePHP 3.x Поиск нескольких несвязанных моделей - PullRequest
0 голосов
/ 26 января 2019

Я искал способ поиска по нескольким несвязанным моделям, что означает, что нет никаких ассоциаций между поисковыми моделями, и я пока не нашел никакой документации о том, как это сделать.

Идея состоит в том, что у меня есть поисковая форма на каждой странице, где я бы хотел, чтобы пользователь мог выполнять поиск по нескольким моделям, представленным на сайте.Некоторые модели связаны, некоторые - нет.

Например,

Ledgers, Plates, and Essays are related by ledger_id
Comments, and Galleries are related to Plates via plate_id
Discussions is not related or associated to any of the above
Products are not related or associated to any of the above

Все таблицы имеют созданное поле.

Поэтому я хотел бы, чтобы моиФорма поиска для поиска во всех перечисленных выше таблицах, отсортированных по созданному полю: Главная книга, Тарелки, Эссе, Комментарии, Галереи, Обсуждения и Продукты ...

Любые идеи о том, как я могу сделать это с одним наборомрезультатов?

1 Ответ

0 голосов
/ 28 января 2019

Используйте Elastic Search для размещения ваших данных в нескольких индексах / типах или в одном. Если вы проведете некоторое исследование по Elastic Search, вы поймете, как это сделать.

Альтернативой является также денормализация всех ваших данных в одной таблице и поле JSON. Postgres и даже MySQL поддерживает поиск в данных JSON внутри поля таблиц.

Вы ничего не можете сделать, если хотите одновременно запросить все эти разные данные.

...