我有用户模型,该用户可以与多个标签关联(具有并且属于多个关联)
在用户模型中
has_and_belongs_to_many :tags
我当前的要求是根据应用的标签和未应用的标签过滤人员。
scope :tags_equals, -> (params) { joins(:tags).where('tags.tags ILIKE (?)', "#{params['value']}") }
但是对于tag_not_contain
过滤器(如下所示),我无法做同样的事情,因为人们根据所应用的标签有很多行。
scope :tag_not_contain, -> (params) { joins(:tags).where('tags.tags not
ILIKE (?)', "#{params['value']}") }
如果我的用户1的标签ID为1,2,3,如果我想要没有标签1的用户的记录,那么第一个记录将不匹配,而其他两个记录将匹配。
在这种情况下如何获得结果?