CakePHP 3.x搜索多个不相关的模型

时间:2019-01-26 10:33:31

标签: cakephp cakephp-3.0 cakephp-3.x cakephp-3.6

我一直在寻找一种方法来搜索多个不相关的模型,这意味着正在搜索的模型之间没有关联,并且到目前为止,我还没有找到任何有关如何执行此操作的文档。

这个想法是,我希望每个用户在每个页面上都有一个搜索表单,以便能够搜索站点上存在的几种模型。有些模型是关联的,有些则没有。

例如

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 :(得分:1)

使用Elastic Search将数据放在多个索引/类型或一个中。如果您对Elastic Search进行了一些研究,就会发现如何做到这一点。

另一种选择是也对单个表和JSON字段中的所有数据进行非规范化。表字段中的JSON数据中的Postgres甚至MySQL support the search

如果要同时查询所有这些不同的数据,您无能为力。