3

所以我有以下示例表:

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、、BC使用id、、、nametype的结果创建搜索created

我的目标是搜索所有三个表,按其中一个字段排序(让我们created用作ORDER_BY字段),并限制为 20 个结果。

通常我会简单地对这些进行联合,按字段排序,然后LIMIT得到结果。

现在,我知道我可以创建一个原始查询来执行此操作……但这意味着我必须重写分页方法,始终进行清理等。此外,它很笨重,不一定能跨多个 SQL 数据库移植。如果可能的话,我更愿意使用模型本身来以更友好的 MVC 方式来做这件事。

我可以用 CakePHP 解决这个问题的最佳方法是什么?

谢谢你,詹姆斯

4

1 回答 1

1

一种选择是创建一个VIEW保存UNION查询的。然后在视图上执行您的 Cake 查询。

然而,我最近开始避免视图,因为在服务器之间传输它们很困难(以及DEFINER通常包含在导出中的烦人的命令)。

于 2012-05-16T00:12:00.370 回答