提问人:whitemystyle 提问时间:6/15/2022 最后编辑:jarlhwhitemystyle 更新时间:6/15/2022 访问量:47
Ruby on Rails:如何选择所有至少有 1 个公司和公司类别的城市 == 14
Ruby on Rails: How to select all Cities which have at least 1 company and company category == 14
问:
如何选择所有至少有 1 家公司和公司类别的城市 == 14.
City.includes(:companies).where('companies.category_id' => @category.id)
协会
City
has_and_belongs_to_many :categories
has_and_belongs_to_many :companies
Company
has_and_belongs_to_many :categories
has_and_belongs_to_many :cities
Category
has_and_belongs_to_many :companies
has_and_belongs_to_many :cities
答:
0赞
Yurii Stefaniuk
6/15/2022
#1
如果您按照惯例建议实现了所有关联,并且您有这些表: 和
您可以使用以下查询来完成此操作:cities_companies
categories_companies
City.distinct.joins(companies: :categories).where(categories: { id: @category.id })
评论