【发布时间】:2020-01-26 13:24:18
【问题描述】:
(请随意将标题更改为更合适的标题)
我正在使用 Ruby on Rails,我有两个模型集:
- 页面
商店
页面
has_many存储。- 商店具有属性
status_nbr,范围为1-5。
例如,第 1 页可能有 5 家商店,其中两家有status_nbr = 1,其中三家有status_nbr = 3。
我想运行一个查询来查找所有 no 商店且 status_nbr = 1 的页面。换句话说,缺少 status_nbr = 1 的商店的页面。我该怎么做?我认为这可以通过一些巧妙的连接来完成?
至于现在我运行一个循环:
ok_list = []
Page.all.each do |page|
ok_list << page.id unless page.stores.where(:status_nbr => 1).blank?
end
@pages = Page.where(:id => ok)
这是非常糟糕/缓慢的编程。
编辑:这不是所提到的问题的重复问题。我的模型依赖于另一个模型和另一个模型的属性。
【问题讨论】:
-
这里(重要的)区别在于这也与另一个模型有关。你指的问题是属性是否在同一个模型中!
标签: ruby-on-rails ruby ruby-on-rails-3 join activerecord