我有一个与“menu_items”和“articles”相关的表“menu_items_articles”。'articles' 表与 'tags' 和 'menu_items' 具有 HABTM 关系
现在我想获取所有带有特定 menu_tems.id 的“文章”及其相关的“标签”。
如果“文章”有 4 个标签,则数组计数该文章的 4 倍。我想要 1 次包含所有相关标签的文章。并且只有一个标签与文章相关联
这就是我所拥有的
$this->MenuItemsArticle->recursive = -1;
$options['joins'] = array(
array('table' => 'articles_tags',
'alias' => 'ArticlesTag',
'type' => 'inner',
'conditions' => array(
'ArticlesTag.article_id = MenuItemsArticle.article_id'
)
),
array('table' => 'articles',
'alias' => 'Article',
'type' => 'inner',
'conditions' => array(
'ArticlesTag.article_id = Article.id'
)
),
array('table' => 'tags',
'alias' => 'Tag',
'type' => 'inner',
'conditions' => array(
'ArticlesTag.tag_id = Tag.id'
)
)
);
$options['conditions'] = array(
'MenuItemsArticle.menu_item_id' => $menu_item
);
$options['fields'] = array('DISTINCT MenuItemsArticle.*',' Article.*','Tag.*');
$this->paginate = $options;
$result = $this->paginate('MenuItemsArticle');