因此,我有以下示例表:
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
。然后在视图上执行Cake查询。
但是,由于难以在服务器之间传输视图(以及导出中通常包含的烦人的DEFINER
命令),我最近开始避免使用视图。
关于sql - 在CakePHP中为相似的数据查询多个模型(联合?),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10546824/