ruby-on-rails – 在另一个表中查找具有两个特定记录的记录

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 在另一个表中查找具有两个特定记录的记录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个产品型号has_and_belongs_to_many:taxons,我想查找特定分类中的所有产品.

例如,如果产品同时属于“Ruby on Rails”和“Shirts”分类,我希望在数据集中返回该产品,但是如果它只属于“Ruby on Rails”或“Shirts”

解决方法

我有一段时间有这个问题,谢天谢地,有一个很好的解决方案.
def self.has_taxons(taxons)
  id = arel_table[:id]
  Product.joins(:taxons).where(taxons: { name: taxons }).group(id).having(id.count.eq(taxons.size))
end

猜你在找的Ruby相关文章