Да, в этой ситуации я привязываю теги к комментариям с принадлежностью. Затем отфильтруйте результаты по некоторым условиям запроса.
Дайте мне посмотреть, смогу ли я найти пример фрагмента где-нибудь,
if(isset($this->params['named']['category'])){
$this->Link->bindModel(
array('belongsTo' => array(
'CategoriesLink' => array(
'className' => 'CategoriesLink',
'foreignKey' => 'id',
)
)),
array('belongsTo' => array(
'Category' => array(
'className' => 'Category',
'foreignKey' => 'categories_link_id',
)
))
);
$data = $this->paginate('Link', array('CategoriesLink.category_id'=>$this->params['named']['category']));
} else {
$data = $this->paginate('Link', array('Link.status_id'=>'1'));
}
$this->set('links', $data);
Вот как я это сделал, когда пытался разбить мою модель Link
на связанные поля. Это было с Cake1.2, хотя, но я думаю, что принцип тот же.
Я бы также порекомендовал установить DebugKit, http://www.ohloh.net/p/cakephp-debugkit, затем возиться со ссылками и условиями, пока не получите запрос, который работает для вас.
Извините, не очень технически;) Я уверен, что кто-то может дать вам более точный ответ.
PS, просто перечитав вопрос, разве у вас не связаны эти Модели уже? Безусловно, подключая их в Моделях через отношения CakePHP, вам не нужно связывать модели, и вы можете просто использовать Containable
или unbindModel()