sql - 在 CakePHP 中查询多个模型的相似数据(联合?)

标签 sql cakephp model cakephp-2.0

所以我有以下示例表:

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/

相关文章:

php - Propel:从别名连接表中选择列

sql - 使用随机名称更新 SQL Server 表

c# - 执行 SQL 备份时访问被拒绝

Cakephp 3.0 保存关联模型

asp.net-mvc - 为什么@Model 为空?

sql - Postgresql,根据唯一字段从表中获取最新条目

php - CakePHP 1.3 上的 CORS

php - CakePHP 中是否可以检测 MySQL 字段的字段类型?

ios - Swift SpriteKit 类结构的良好实践

python - Django 模型 : Dependent fields