Получение всех связанных тегов для каждого элемента после фильтра (тег) - PullRequest
0 голосов
/ 26 августа 2011

У меня есть типичная ассоциация HABTM Item <-> Tag

Если я получу все элементы с tag = "test", сделав это:

$items = $this->Item->Tag->find('all', array('conditions'=>array('Tag.name'=>$tag)));

Массив $ items показывает правильномассив [Items], содержащий элементы, связанные с тегом, но как я могу получить также все теги для каждого элемента, чтобы я мог отображать его после элемента и всех его тегов?

Спасибо.

1 Ответ

1 голос
/ 26 августа 2011

Редактировать: Похоже, Торт не понравилась идея.Вы можете взломать его, позвонив в ассоциацию немного по-другому:

$this->Item->bindModel(array('hasAndBelongsToMany' => array(
        'BlahTag'=>array(
            'className' => 'Tag',
            'joinTable' => 'items_tags',
            'foreignKey' => 'item_id',
            'associationForeignKey' => 'tag_id',
            'unique' => true,
        )
    )),false);
  $this->Item->BlahTag->bindModel(array('hasAndBelongsToMany' => array(
        'Item'=>array(
            'className' => 'Item',
            'joinTable' => 'items_tags',
            'foreignKey' => 'tag_id',
            'associationForeignKey' => 'item_id',
            'unique' => true,
        )
    )),false);
 $items = $this->Item->BlahTag->find('all', array(
   'contain'=>array('Item'=>array('BlahTag')),
   'conditions'=>array('BlahTag.name'=>$tag)
));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...