我想收集一些"帖子"这是在过去一天制作的,并获得了他们所有作者的电子邮件。
author has_many posts
。
第1步:获取今天创建的所有帖子(有效)
Posts.where('created_at > :today', today: Time.zone.now.beginning_of_day)
第2步:获取这些帖子的所有作者(这是什么语法?)
Posts.where('created_at > :today', today: Time.zone.now.beginning_of_day).authors??? # Returns undefined method for ActiveRecord_Relation.
答案 0 :(得分:1)
您可以通过以下方式收到一系列电子邮件:
Posts.where('created_at > :today', today: Time.zone.now.beginning_of_day).joins(:author).pluck("authors.email")
如果您需要ActiveRecord::Relation
,则必须使用您想要获得的课程开始查询
Author.joins(:posts).where("posts.created_at > :today", today: Time.zone.now.beginning_of_day)
答案 1 :(得分:0)
渴望加载作者
Posts.includes(:author).where('created_at > :today', today: Time.zone.now.beginning_of_day).collect(&:author)