cakephp - 将来自多个表的数据视为一个

时间:2011-03-21 21:24:49

标签: cakephp model behavior

我希望每个表(字母,文件,备注)都有一个视图,每个表都有一个名称和日期。我希望每个表中的项目都有一个单独的视图,这些项目也属于特定类别 - 比如categoryx - 所以它是一个单独的视图。 categoryx视图将来自多个表中的每个表的特定字段组合成一个表,实际上,按日期排序。

如,

Category x

DATE       NAME          ORIGTABLE
1/2/11     SmithToJones  Letters
1/3/11     Filing on X   Filings
1/4/11     Note re X     Notes
1/7/11     JonesToSmith  Letters

我很难说是否有一种好的或直接的方法来做到这一点。打开选项。感谢

1 个答案:

答案 0 :(得分:0)

我想我有答案,虽然它并不完美。我在控制器中执行此操作(可以在模型中尝试下一步):

$query='select name,date, "letters" as "origtable" from letters
UNION SELECT name,date, "filings" as "origtable" from filings 
UNION SELECT name,date, "notes" as "origtable" from notes
ORDER BY date';

$things=$this->Letter->query($query);
$this->set('items',$things);

这让我得到一个可以解析的数组。如果我添加id,那么我可以轻松地创建相关表中相关项的链接。