所以我有以下示例表:
Table A:
id
name
type
hat_size
created
Table B:
id
name
type
favorite_food
created
Table C:
id
name
type
some_other_thing
created
假设我想使用模型
A
的结果创建搜索, B
, 和 C
使用 id
, name
, type
, 和 created
.我的目标是搜索所有三个表,按其中一个字段排序(让我们使用
created
作为 ORDER_BY
字段),并限制为 20 个结果。通常我会简单地将这些合并,按字段排序,和
LIMIT
结果。现在,我知道我可以创建一个原始查询来执行此操作……但这意味着我必须重写分页方法,始终进行清理等。另外,它很笨重,不一定能跨多个 SQL 数据库移植。如果可能的话,我更愿意使用模型本身来以更友好的 MVC 方式来做这件事。
我可以用 CakePHP 解决这个问题的最佳方法是什么?
谢谢,
詹姆士
最佳答案
一种选择是创建 VIEW
其中包含 UNION
询问。然后在 View 上执行您的 Cake 查询。
然而,我最近开始避免 View ,因为在服务器之间传输它们很困难(以及通常包含在导出中的烦人的 DEFINER
命令)。
关于sql - 在 CakePHP 中查询多个模型的相似数据(联合?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10546824/