cakephp - просматривать данные из нескольких таблиц как одну - PullRequest
0 голосов
/ 22 марта 2011

Я хочу иметь представление для каждой таблицы (письма, записи, заметки), каждая из которых имеет имя и дату. Я хочу иметь отдельное представление для элементов из каждой таблицы, которые также попадают в определенную категорию - скажем, в категорию x - так что это отдельное представление. Представление 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 голосов
/ 22 марта 2011

Я думаю, что у меня есть ответ, хотя он не идеален. Я делаю это в контроллере (может попробовать это в модели дальше):

$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);

Это дает мне массив, который я могу разобрать. Если я добавлю к нему идентификатор, то я могу легко создавать ссылки на соответствующий элемент в соответствующей таблице.

...