选择过期值和未过期值MySQL,Rails 5

选择过期值和未过期值MySQL,Rails 5,mysql,ruby-on-rails,activerecord,Mysql,Ruby On Rails,Activerecord,我有一个RubyonRails5应用程序,数据库是MySQL。我有表产品和表订阅,其中标准Rails 5datetimecolumn-在创建 型号产品有多个:订阅,型号订阅属于:产品 我想选择在示例1天之前创建的产品的所有订阅,以及以这种方式创建的所有产品(示例最后24小时),以便我可以像这样使用它们—产品。过期订阅和产品。活动订阅尝试以下操作 #=> subscription.rb scope :expired_subscriptions, -> { where("created_

我有一个RubyonRails5应用程序,数据库是MySQL。我有表
产品
和表
订阅
,其中标准Rails 5
datetime
column-
创建

型号
产品有多个:订阅
,型号
订阅属于:产品

我想选择在示例1天之前创建的产品的所有订阅,以及以这种方式创建的所有产品(示例最后24小时),以便我可以像这样使用它们—
产品。过期订阅和
产品。活动订阅尝试以下操作

#=> subscription.rb
scope :expired_subscriptions, -> { where("created_at >= ?", 24.hours.ago) }
scope :active_subscriptions, -> { where(created_at: (Time.now - 24 .hours)..Time.now) }
然后

@product = Product.find(1) #=> find product by ID
@product.subscriptions.expired_subscriptions #=> all  subscriptions > 24 hours
#=============#
@product = Product.find(1) #=> find product by ID
@product.subscriptions.active_subscriptions #=> all subscriptions within 24 hours
希望对你有所帮助