我有一个模型城市,其中有很多列表。房源有很多学校。我正在尝试查找一个城市中的所有 school_id。
city.listings.joins(:schools).pluck(:name).uniq
按预期返回城市中所有学校的名称。
但是
city.listings.joins(:schools).pluck(:id).uniq
返回城市中所有列表的 listing_id,而不是学校的 ID。
如何获取 school_ids
?
最佳答案
你可能会发现反过来更容易:
School.where(listings: city.listings).pluck(:id)
假设您需要根据这些学校做一些事情,您可以避免完全加载 ID,而只是继续编写您的查询:
PerformanceReports
.where(school: School.where(listings: city.listings))
.order(score: :desc)
.limit(5)
关于ruby-on-rails - 通过pluck返回关联对象的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56510958/