как запросить has_many через: отношение между Article
моделью и Tag
моделью через Taggings
таблицу соединений?
Следующий запрос приводит к объекту ActiveRecord::Relation
, но набор результатов также содержит статьи, которые имеют связь только с одним из запрашиваемых тегов.
Say article_1.tags
содержит foo
и bar
, запрос не должен возвращать article1, когда затем теги искали foo
, bar
и baz
, потому что article_1.tags
не содержит этот тег.
Применение моего подхода к запросу, к сожалению, возвращает такие статьи. Достаточно, кажется, если они содержат хотя бы один разыскиваемый тег 1019 *
Мой подход
Article.joins(:taggings).where(taggings: { tag_id: @article_tags_ids, taggable_type: "Article"}).group('taggings.taggable_id').having("count(taggings.tag_id) = ?", @article_tags_count)
искренне ваш