Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Фильтрация по трем таблицам

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
Tonatos
Гость
цитировать






СообщениеДобавлено: 15 Июн 2008 20:02:27    Заголовок сообщения: Фильтрация по трем таблицам Ответить с цитатой Изменить/удалить это сообщение Удалить сообщение

Здравствуйте. Сейчас дописываю один небольшой проект на CakePHP и на филнальном этапе встал на одной неприятной загвоздке.

У меня есть 3 таблицы:


Код:
DTP table
 --------------------
 id | dtp_name | etc.
 --------------------
  0 | name_0   | ect0
  1 | name_1   | ect1
  2 | name_2   | ect2


CAR table
 --------------------
 id |  dtp_id  | etc
 --------------------
  0 |     1    | etc1
  1 |     1    | etc2
  2 |     2    | etc3


POLIS table
 --------------------
 id |  car_id  | etc
 --------------------
  0 |     1    | etc1
  1 |     2    | etc2
  2 |     3    | etc3
  3 |     3    | etc4



Иными словами, у меня есть ДТП (DTP table), в котором есть от 1 до N участников (CAR table), и у каждого участника может быть от 0 до 2 полюсов страхования (POLIS table).

Как можно догадаться, основная таблица - DTP table, и с ней связана CAR table через $hasMany.

На сайте есть поиск. И вот задача: реализовать фильрацию по данным всех трех(!) таблиц.
Использую $this->paginate() (т.к. постраничность и сортировка - тоже нужны), и искать по первым двум таблицам (DTP table, CAR table) - получилось. А вот как добраться до POLIS table - я не представляю. Можно, конечно, все реализовать ручным запросом, но тогда придется писать обработку для $paginate, чего очень не хочется.

По сути, надо-то заставить Cake добавить в запрос одну маленькую строчку - " FROM ..., `polis` AS `"Polis`. Документацию перерыл, весь инет облазил, бьюсь уже два дня - будут ли, уважаемые, какие-нибудь советы или рекомендации?
Вернуться к началу
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru