У меня есть модель Контент, который принадлежит категориям, имеет много издателей, а издатель принадлежит городу.
Существует также форма поиска, в которой кто-то выбирает из выпадающего списка, какую категорию просматривать и какой город.
Но как я могу объединить эти два в одном условии paginate? Я имею в виду, я не могу сделать что-то вроде:
$this->paginate('Content',array('conditions' =>array('Category.id'=>$category,
'City.id'=>$city)));
потому что для получения торта городов выполняется другой запрос.
И я не могу сделать что-то вроде:
$this->paginate('Content',array('conditions' =>array('Category.id'=>$category),
'contain'=>array('Publisher.City'=>array('conditions'=>array(City.id'=>$city)))));
, потому что это будет искать в соответствии с категорией и фильтровать результаты города по $ city.
Я знаю, что могу сделать что-то вроде:
$this->Content->Publisher->City->find(...)
но это изменит вывод моих разбитых на страницы данных.
Что я обычно делаю, это пишу свой пользовательский запрос, где я оставляю все модели и отфильтрую результаты в WHERE. Но я хотел спросить, есть ли еще какой-нибудь торт (sic)!
спасибо